我的模板化函數有兩個模板參數(int m
和int n
)。該函數返回一個類Foo<int r>
,我想要r=m+n
。相關模板參數
foo.h中,我有:
template<int m> class Foo {};
template<int m, int n>
Foo<m+n> myFunc(const Foo<m> &a, const Foo<n> &b);
在Foo.cpp中我有:
Foo<m+n> myFunc(const Foo<m> &a, const Foo<n> &b)
{
return Foo<m+n>();
}
最後,在main.cpp中:
#include "foo.h"
int main()
{
myFunc(Foo<2>(), Foo<3>());
}
如果我試試這個,我收到一個鏈接錯誤。:
"undefined reference to `Foo<(2)+(2)> myFunc(Foo<2> const&, Foo<2> const&)'
編輯:編輯包括完整的代碼。也許不太清楚,但有些人更喜歡。
咄,僅此而已。乾杯! – Unapiedra
否則它會在更新智能感知(49)....(48)....時導致VC無法停止.... – John