编译器警告(等级 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
};