コンパイラ エラー C2677
二項演算子 'operator' : 型 'type' を扱うグローバルな演算子が見つかりません (または変換できません)
この演算子を使うには、型を指定してこの演算子をオーバーロードするか、この演算子が定義された型への変換を定義する必要があります。
次の例では C2677 が生成されます。
// C2677.cpp
class C {
public:
C(){}
} c;
class D {
public:
D(){}
operator int(){return 0;}
} d;
int main() {
int i = 1 >> c; // C2677
int j = 1 >> d; // OK operator int() defined
}