1
我正在處理一個堆棧類並有兩個構造函數。有趣的是這一個。模板類構造器中的動態分配
template <typename T>
stack<T>::stack(const int n)
{
capacity = n ;
size = 0 ;
arr = new T [capacity] ;
}
我在這裏稱它爲主。
stack<int> s1(3) ;
該程序編譯得很好,但我得到這個運行時錯誤。
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall
stack<int>::~stack<int>(void)" ([email protected]@@[email protected]) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall
stack<int>::stack<int>(int)" ([email protected]@@[email protected]@Z) referenced in function _main
1>D:\\Microsoft Visual Studio 10.0\Visual Studio 2010\Projects\Expression
Evaluation\Debug\Expression Evaluation.exe : fatal error LNK1120: 2 unresolved externals
我正在Microsoft visual studio 2010
上工作,這個問題讓我無處可去。 任何提示將不勝感激。
這比普通班不同,因爲編譯器需要生成代碼,其中的模板類*使用*('main.cpp'),而不是它在哪裏*實現*(即'stack.cpp'),因爲只有實例化模板的代碼知道它將使用哪些具體類型。 – willglynn
好的謝謝,工作正常。 和@willglynn也是如此。 – Sasha