다음을 통해 공유


컴파일러 오류 C2158

'type': #pragma make_public 지시문은 현재 템플릿이 아닌 네이티브 형식에만 사용할 수 있습니다.

make_public pragma는 템플릿이 아닌 네이티브 형식에만 적용할 수 있습니다.

예시

다음 샘플에서는 C2158을 생성합니다.

// C2158.cpp
// compile with: /clr /c
ref class A {};
#pragma make_public(A)   // C2158

template< typename T >
class B {};
#pragma make_public(B)   // C2158
#pragma make_public(B<int>)   // C2158

void C () {}
#pragma make_public(C)   // C2158

class D {};
#pragma make_public(D)   // OK