다음을 통해 공유


컴파일러 오류 C2675

단항 'operator': 'type'은 이 연산자를 정의하지 않거나 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다.

C2675는 단항 연산자를 사용할 때도 발생할 수 있으며, 형식은 연산자 또는 미리 정의된 연산자에 허용되는 형식으로의 변환을 정의하지 않습니다. 연산자를 사용하려면 지정된 형식에 대해 오버로드하거나 연산자가 정의된 형식으로의 변환을 정의해야 합니다.

예시

다음 샘플에서는 C2675를 생성합니다.

// C2675.cpp
struct C {
   C(){}
} c;

struct D {
   D(){}
   void operator-(){}
} d;

int main() {
   -c;   // C2675
   -d;   // OK
}