##A.hh
template<class T> void func(T t) {}
template<> void func<int>(int t) {}
void func2();
##A.cpp
void func2() {}
##main.cpp
func("hello");
func(int());
我得到的错误是:错误LNK2005: “无效__cdecl FUNC(INT)”(?? $ FUNC 3 H @@ YAXH @ Z)在A.OBJ已经定义, 一个或多个定义的符号发现函数模板专业化编译错误
函数模板特化不被视为普通函数模板吗?它看起来像它将在A的目标文件中。
是什么'func2'有什么关系呢? – 2011-03-24 09:48:58
从你的错误信息我假设你使用VC。你的程序对VS2005工作正常 – mkaes 2011-03-24 09:49:51
@ Space_C0wb0y所以我有一些东西要放在A.cpp文件中 – hidayat 2011-03-24 09:51:31