我不知道爲什麼這不起作用爲什麼不解決這個模板?
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:那是一個完整的編譯錯誤。在此之前或之後沒有錯誤。這是唯一的一個。 –