是否可以将模板参数传递给其他地方定义的函数? 比如我有类将模板类参数传递给外部函数
Barrier.pp
template<Location L, Knock K>
class Barrier
{
//...
void checkBarrier(...)
{
BarrierBest_checkBarrier<L, K>(...);
}
//...
}
Other.cpp
template<Location L, Knock K>
BarrierBest_checkBarrier(...)
{
//Use L and K to do call other function
}
正如我有它现在编译器会引发一个解析的外部符号的所有模板参数的可能组合,即BarrierBest_checkBarrier<1,1>
,BarrierBest_checkBarrier<1,0>
,BarrierBest_checkBarrier<0,1>
,BarrierBest_checkBarrier<0,0>
有没有办法让这项工作?
需要在多个翻译单元(cpp文件)中可见的模板必须在头文件中定义并包含在两者中。 – metal
请提供能够产生与您的问题相同的错误的代码。 – Oswald