Почему член интерфейса не может использовать закрытый тип класса? - PullRequest
0 голосов
/ 13 декабря 2011

Рассмотрим следующий код:

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 голосов
/ 09 марта 2012

Это ошибка в компиляторе C ++ в Visual Studio 11 Preview Preview.

Ошибка была исправлена, и код без ошибок компилируется с помощью бета-версии Visual Studio 11.

...