Erreur du compilateur C2158
'type' : la directive #pragma make_public est actuellement prise en charge pour les types sans modèle natifs uniquement
Le pragma make_public est uniquement applicable à un type non-modèle natif.
Exemple
L’exemple suivant génère l’erreur 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