我越来越难找出调用使用模板的类的构造函数的解决方案。调用模板类的构造函数
--header文件
template <class Item>
class Binary_tree
{
string file_name;
list<Item> arr_data;
public:
Binary_tree(string fname);
void printArr();
};
--cpp文件
template <typename Item>
Binary_tree<Item>::Binary_tree(string fname)
{
File_Name = fname;
total = 0;
root = nullptr;
std::ifstream filestream(fname);
string line;
while (!filestream.eof())
{
filestream >> line;
arr_data.push_back(line);
}
}
template <typename Item>
void Binary_tree<Item>::printArr()
{
int size = arr_data.size();
for (int i = 0; i < size; i++)
{
cout << "arr_data [" << i << "] is: " << arr_data[i] << endl;
}
}
--main.cpp
int main(int argc, char** argv)
{
Binary_tree<string> test(file);
test.printArr();
return 0;
}
现在我越来越LNK1120 LNK2019和错误。
请提供[最小,完整,可验证的示例](http://stackoverflow.com/help/mcve)。什么是'文件'? –
因为'test'可能被作为函数声明而不是变量。 –
file是文件名,构造函数将使用该文件读取数据并将其添加到Binary_tree类中定义的列表中。 – Gaurav