为什么接口成员不能使用私有类类型?

时间:2011-12-13 18:06:30

标签: c++ windows-runtime c++-cx

请考虑以下代码:

ref class ClassA
{

};

interface class IClassA
{
     void DoSomething(ClassA^ a);
};

使用Visual C ++ 11 Developer Preview编译此代码会产生以下错误:

error C3981: 'IClassA::DoSomething' cannot be emitted into metadata

如果ClassA是公开的,则代码编译时没有错误。如果ClassA是非公共的,为什么代码不能编译?

1 个答案:

答案 0 :(得分:0)

这是Visual Studio 11开发人员预览版中C ++编译器中的一个错误。

该错误已得到修复,代码使用Visual Studio 11 Beta编译时没有错误。