다음을 통해 공유


컴파일러 오류 C3149

'type': 최상위 'char' 없이는 이 형식을 사용할 수 없습니다.

선언이 올바르게 지정되지 않았습니다.

예를 들어 전역 범위에서 CLR 형식을 정의하고 정의의 일부로 형식의 변수를 만들려고 했을 수 있습니다. CLR 형식의 전역 변수는 허용되지 않으므로 컴파일러는 C3149를 생성합니다.

이 오류를 해결하려면 함수 또는 형식 정의 내에서 CLR 형식의 변수를 선언합니다.

다음 샘플에서는 C3149를 생성합니다.

// C3149.cpp
// compile with: /clr
using namespace System;
int main() {
   // declare an array of value types
   array< Int32 ^> IntArray;   // C3149
   array< Int32>^ IntArray2;   // OK
}

다음 샘플에서는 C3149를 생성합니다.

// C3149b.cpp
// compile with: /clr /c
delegate int MyDelegate(const int, int);
void Test1(MyDelegate m) {}   // C3149
void Test2(MyDelegate ^ m) {}   // OK