[問題] VS2008的linking error
Matrix.h定義以下函式
template <class ElType>
matrix<ElType> operator*(const ElType& x, const matrix<ElType>& s)
{
...
}
template <class ElType>
class matrix
{
...
friend matrix<ElType> operator*(const ElType&, const matrix<ElType>&);
};
然後在別的檔案使用matrix函數
matrix<double> m1, m2;
m2 = -1 * m1;
VS2008編譯的時候會出現linking error
LNK2001: unresolved external symbol "class matrix<double> __cdecl
operator*(double const &,class matrix<double> const &)"
(??D@YA?AV?$matrix@N@@ABNABV0@@Z)
我找了很久實在找不出哪裡有錯
這裡的泛型有用錯嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.61.49.144
推
11/21 13:47, , 1F
11/21 13:47, 1F
→
11/21 14:39, , 2F
11/21 14:39, 2F
→
11/21 14:47, , 3F
11/21 14:47, 3F