lhs が既知の型で、rhs が自分のクラスであるすべての = 演算子をオーバーライドしたいと思います。例として:
class MyClass;
class Override {
long operator+=(long X, const MyClass& Y);
}
long Override::operator+=(long X, const MyClass& Y) {
return X += (long)Y;
}
void main(int argc, char** argv) {
MyClass X(1);
long Y = 1;
Y += 1; // works great
Y += (long)X; // works great
Y += X; // does not work
}
また、MyClass には適切なキャスト メソッドと作成メソッドがあります。
私は何かが欠けていることを知っていますが、何がわからないのですか。
コンパイラエラーが発生します
Y += X
次の関数で
long Override::operator(long& X, const MyClass& Y) ...
誰かがこれを行う正しい方法を教えてもらえますか?
ありがとうアート