컴파일러 오류 C2675
단항 'operator': 'type'은 이 연산자를 정의하지 않거나 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다.
C2675는 단항 연산자를 사용할 때도 발생할 수 있으며, 형식은 연산자 또는 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다. 연산자를 사용하려면 지정된 형식에 대해 오버로드하거나 연산자가 정의된 형식으로의 변환을 정의해야 합니다.
예시
다음 샘플에서는 C2675를 생성합니다.
// C2675.cpp
struct C {
C(){}
} c;
struct D {
D(){}
void operator-(){}
} d;
int main() {
-c; // C2675
-d; // OK
}