Поделиться через


Ошибка компилятора C3380

"класс": недопустимый спецификатор уровня доступа сборки — разрешены только "public" или "private"

Ключевые слова public и private , применяемые к управляемым классам или структурам, определяют возможность предоставления класса посредством метаданных сборки. К классам программы, компилируемой с использованием параметра public /clr private , могут применяться только ключевые слова и.

Ключевые ref слова при использовании с /clr указывают, что класс управляется (см. классы и value структуры).

Следующий пример приводит к возникновению ошибки C3380:

// C3380_2.cpp
// compile with: /clr
protected ref class A {   // C3380
// try the following line instead
// ref class A {
public:
   static int i = 9;
};

int main() {
   A^ myA = gcnew A;
   System::Console::WriteLine(myA->i);
}