컴파일러 경고(수준 1) C4383
'instance_dereference_operator': 사용자 정의 'operator' 연산자가 있을 때 핸들을 역참조하는 의미는 변경됩니다. 피연산자에 대해 명시적으로 표시할 정적 함수로 연산자를 씁니다.
관리되는 형식에서 역참조 연산자의 사용자 정의 인스턴스 재정의를 추가하는 경우 핸들의 개체를 반환하는 형식의 역참조 연산자의 기능을 재정의할 수 있습니다. 정적 사용자 정의 역참조 연산자를 작성하는 것이 좋습니다.
자세한 내용은 개체 연산자(^) 및 추적 참조 연산자에 대한 핸들을 참조하세요.
또한 참조된 메타데이터를 통해 다른 언어 컴파일러에서 인스턴스 연산자를 사용할 수 없습니다. 자세한 내용은 사용자 정의 연산자(C++/CLI)를 참조하세요.
예시
다음 샘플에서는 C4383을 생성합니다.
// C4383.cpp
// compile with: /clr /W1
ref struct S {
int operator*() { return 0; } // C4383
};
ref struct T {
static int operator*(T%) { return 0; }
};
int main() {
S s;
S^ pS = %s;
T t;
T^ pT = %t;
T% rT = *pT;
}