コンパイラ エラー C2675
単項 'operator' : 'type' は、この演算子または定義済みの演算子に適切な型への変換の定義を行いません
C2675 は、単項演算子を使用する場合にも発生する可能性があり、型では、演算子または定義済みの演算子に許容される型への変換は定義されません。 この演算子を使うには、型を指定してこの演算子をオーバーロードするか、この演算子が定義された型への変換を定義する必要があります。
例
次の例では C2675 が生成されます。
// C2675.cpp
struct C {
C(){}
} c;
struct D {
D(){}
void operator-(){}
} d;
int main() {
-c; // C2675
-d; // OK
}