模板類別建構子的編譯器錯誤「未定義引用...」表示缺少明確實例化程序中使用的特定模板類別的說明。出現此問題的原因是編譯器在明確需要模板程式碼之前不會自動編譯模板程式碼。
將明確模板實例化語句附加到實現文件的末尾(可樂)在本例中為.cpp):
template class cola<float>; template class cola<string>;
此外,請將以下行包含在nodo_colaypila.cpp:
template class nodo_colaypila<float>; template class nodo_colaypila<std::string>;
這會強制編譯器編譯所需的模板類別。
從 cola 移動實作碼.cpp 和 nodo_colaypila.cpp 分別轉換為 cola.h 和 nodo_colaypila.h。這確保了使用模板類別的所有翻譯單元中函數定義的可用性。
解決方案1:
解決方案2:
nodo_colaypila<T><T>* ult, pri;
應該是:
nodo_colaypila<T>* ult, *pri;
以上是為什麼我會收到模板類別建構函式的'未定義引用”錯誤,以及如何修復它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!