我在使用的連接器問題。鏈接錯誤模板方法
它給了我下面的錯誤:
[Linker error] undefined reference to `bool Polis :: deleteEdifice <Mine> (int) '
原型聲明如下:
template <typename T> bool deleteEdifice(int);
deleteEdifice是空的,不,現在做任何事情,但它不工作。
原型的調用是:
obj->deleteEdifice<Mine>(3);
我也試着這樣做:
obj->template deleteEdifice<Mine>(3);
打印以下錯誤:
`template' (as a disambiguator) is only allowed within templates
你能告訴我我是什麼做錯了。
‘deleteEdifice是空的,不,現在做任何事情,但它不工作。’請澄清。這是什麼意思?有沒有涉及這句話的任何代碼?你能證明嗎? –
你必須在頭文件中定義模板,而不是僅僅聲明它。 '模板布爾deleteEdifice(INT){}' –
clcto
是在.cpp文件中'deleteEdifice'的定義是什麼? – 2014-03-26 21:14:09