假设我有fileA.h它声明了一个类classA带模板函数SomeFunc().该函数直接在头文件中实现(与模板函数一样)。现在我添加了SomeFunc()的专门实现(如SomeFunc())在fileA.C(即不在头文件中)。如果我现在调用SomeFunc()来自其他一些代码(可能也来自另一个库),它会调用通用版本还是特化版本?我现在有这个问题,类和函数存在于一个库中,由两个应用程序使用。一个应用程序正确地使用了特化,而另一个应用程序使用了通用形式(这会导致稍后出现运行时问题)。为什么有区别?这可能与链接器选项等有关吗?这是在Linux上,使用g++4.1.2。