我越來越難找出調用使用模板的類的構造函數的解決方案。調用模板類的構造函數
--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