次のコードを検討してください。
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
非公開の場合、コードがコンパイルされないのはなぜですか?