다음을 통해 공유


컴파일러 오류 C2171

'operator': 'type' 형식의 피연산자에는 맞지 않습니다.

단항 연산자가 잘못된 피연산자 형식과 함께 사용됩니다.

예제

다음 샘플에서는 C2171을 생성합니다.

// C2171.cpp
int main() {
   double d, d1;
   d = ~d1;   // C2171

   // OK
   int d2 = 0, d3 = 0;
   d2 = ~d3;
}

다음 샘플에서는 C2171을 생성합니다.

// C2171_b.cpp
// compile with: /c
class A {
public:
   A() { STF( &A::D ); }

   void D() {}
   void DTF() {
      (*TF)();   // C2171
      (this->*TF)();   // OK
   }

   void STF(void (A::*fnc)()) {
      TF = fnc;
   }

private:
   void (A::*TF)();
};