0

次のコードを検討してください。

ref class ClassA
{

};

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

このコードを Visual C++ 11 Developer Preview でコンパイルすると、次のエラーが発生します。

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

public の場合ClassA、コードはエラーなしでコンパイルされます。ClassA非公開の場合、コードがコンパイルされないのはなぜですか?

4

1 に答える 1

0

これは、Visual Studio 11 Developer Preview の C++ コンパイラのバグでした。

このバグは修正され、Visual Studio 11 Beta を使用してコードがエラーなしでコンパイルされるようになりました。

于 2012-03-09T01:57:54.697 に答える