Ошибка компилятора C3379
"class": вложенный класс не может иметь описатель доступа к сборке в рамках объявления.
При применении к управляемому типу, например к классу или структуре, открытые и закрытые ключевые слова указывают, будет ли класс предоставляться с помощью метаданных сборки. public
или private
не может применяться к вложенной классу, который наследует доступ к сборке заключенного класса.
При использовании с /clr ключевые слова указывают value
на то, ref
что класс управляется (см. классы и структуры).
Следующий пример приводит к возникновению ошибки C3379:
// C3379a.cpp
// compile with: /clr
using namespace System;
public ref class A {
public:
static int i = 9;
public ref class BA { // C3379
// try the following line instead
// ref class BA {
public:
static int ii = 8;
};
};
int main() {
A^ myA = gcnew A;
Console::WriteLine(myA->i);
A::BA^ myBA = gcnew A::BA;
Console::WriteLine(myBA->ii);
}