特殊なクラス メンバー関数を使用しようとしています。ここの 1 つの投稿で次の解決策を見つけましたが、うまくいきません。ソリューションをビルドすると、次のエラーが表示されます。 - TestClass.obj : エラー LNK2005 および致命的なエラー LNK1169。コードの何が問題になっていますか?
template <class T1, class T2>
class TestClass
{
private:
VD cdata;
public:
TestClass(void){};
TestClass(VD & edata);
T1 fun1(const T2 ex);
~TestClass(void);
};
template <class T1, class T2>
T1 TestClass<T1, T2>::fun1(const T2 x)
{
T1 v1 = 100.0*pow(x[1] - x[0]*x[0],2) + pow(1 - x[0],2);
return v1;
}
template <>
double TestClass<double, column_vector>::fun1(const column_vector x)
{
double v1 = 100.0*pow(x(1) - x(0)*x(0),2) + pow(1 - x(0),2);
return v1;
}