我不知道为什么这不起作用为什么不解决这个模板?
In member function ‘void Test_CB::testCB()’:
error: no matching function for call to ‘calculateCB(USSM&, USSM&, NL&, double&, CD&)’
candidate is:
template<class T, class V> std::vector<CV> calculateCB(const T&, const T&, const NL&, double, const CD&)
的调用是这样的
USSM x1;
USSM x2;
NL x3;
double x4;
CD x5;
CV b = calculateCB<USSM, USM>(x1,x2,x3,x4,x5)[0];
我刚才所描述的类型。它们以适当的方式创建或返回。
该模板被声明为
template <class T, class V>
std::vector<CV> calculateCB(T const & x1,
T const & x2,
NL const & x3,
double x4,
CD const & x5);
和我还实例化模板(作为绝望度量)作为
template<>
std::vector<CV> calculateCB<USSM,USM>(USSM const & x1,
USSM const & x2,
NL const & x3,
double x4,
CD const & x5);
注意,第二模板参数是在模板的内部使用可变功能。
这不是实例化,这是专门化(实例化,删除''''')。你能发布**完整**编译错误吗? – Angew
您能否提供一个我们可以尝试编译的小例子?另外,我很好奇你在用什么编译器。 –
@Angew:那是一个完整的编译错误。在此之前或之后没有错误。这是唯一的一个。 –