컴파일러 오류 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);
}