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


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

"тип": директива #pragma make_public сейчас поддерживается только для собственных нешаблонных типов

Замечания

Директива pragma make_public может применяться только к собственным нешаблонным типам.

Пример

В следующем примере создается 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