Share via


編譯器警告 (層級 1) C4692

'function': 非私用成員的簽章含有組件私用原生類型 'native_type'

元件外部可見的類型包含成員函式,其簽章包含元件外部不可見的原生類型。 因此,如果成員函式的包含型別在元件外部具現化,則不應該呼叫成員函式。

如需詳細資訊,請參閱 類型可見度

此警告預設為關閉。 如需詳細資訊,請參閱 Compiler Warnings That Are Off by Default

範例

下列範例會產生 C4692。

// C4692.cpp
// compile with: /W1 /c /clr
#pragma warning(default:4692)
class Private_Native_Class {};
public class Public_Native_Class {};
public ref class Public_Ref_Class {
public:
   void Test(Private_Native_Class *) {}   // C4692
   void Test2(Public_Native_Class *) {}   // OK
};