编译器警告(等级 1)C4692

“function”: 非私有成员的签名包含程序集私有本机类型“native_type”

程序集以外可见的类型包含某个成员函数,该函数的签名包含在程序集以外不可见的本机类型。 因此,如果该成员函数的包含类型在程序集以外进行实例化,则不应调用该成员函数。

有关更多信息,请参见 键入可见性

默认情况下关闭此警告。 有关更多信息,请参见默认情况下关闭的编译器警告

示例

下面的示例生成 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
};