我注意到存储类说明符可以放在模板实例化中,并且不会产生编译器错误。我知道存储类可以在模板设计中使用,并且不能在专门化中使用,但是想知道为什么它在实例化中没有被编译器拒绝。我尝试了不同的组合,它似乎对链接没有影响。请问我错过了什么吗?
template <typename T>
T my_func ( T arg1 )
{
return 1 ;
} ;
template
static // gcc allows this line without error/warning but has no effect?
int my_func ( int arg1 ) ;
编辑:请注意,我将模板实例放置在与使用它的位置不同的 .cpp 中(以测试链接),尽管在代码段中并不清楚。