Можно ли передать параметры шаблона функции, заданной в другом месте? Например у меня есть классШаблонные параметры класса для внешней функции
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