フレンド演算子関数の定義に苦労しています。私のコードは次のとおりです。
template <typename typ>
class VecClass
{
public:
VecClass();
/* other class definitions */
friend void operator+(VecClass op1,VecClass op2);
}
template <typename typ>
void VecClass<typ>::operator+(VecClass<typ> &op1,VecClass<typ> &op2)
{
/* do some stuff on op1 and op2 in here */
}
ここで、VecClass は、ベクトルを作成し、それらのベクトルに対してさまざまな機能を実行するためのクラスです (NB は、できるだけわかりやすくするためにコードを単純化しました)。コンパイル時、使用
int main()
{
VecClass=a,b;
a+b;
return 0;
}
次のコンパイルエラーが発生します
error C2039: '+' : is not a member of 'VecClass<typ>'
私は明らかに何かが欠けているので、何か提案があれば感謝します。ありがとう。