Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Azt jelzi, hogy egy natív típusnak nyilvános szerelvény-akadálymentességgel kell rendelkeznie.
Szintaxis
#pragma make_public(típus)
Paraméterek
típus
Annak a típusnak a neve, amelyet nyilvános szerelvény-akadálymentességgel szeretne használni.
Megjegyzések
make_public akkor hasznos, ha a hivatkozni kívánt natív típus olyan fejlécfájlból származik, amelyet nem lehet módosítani. Ha a natív típust egy nyilvános függvény aláírásában szeretné használni egy nyilvános szerelvény láthatóságával rendelkező típusban, a natív típusnak nyilvános szerelvény-akadálymentességgel is rendelkeznie kell, vagy a fordító figyelmeztetést ad ki.
make_public globális hatókörben kell megadni. Ez csak attól a ponttól kezdve van érvényben, ahol deklarálva van a forráskódfájl végéig.
A natív típus lehet implicit vagy kifejezetten privát. További információ: Típus láthatósági.
Példák
Az alábbi minta egy fejlécfájl tartalma, amely két natív szerkezet definícióit tartalmazza.
// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };
Az alábbi kódminta a fejlécfájlt használja. Ez azt mutatja, hogy ha a natív strumokat nem jelöli meg nyilvánosként a make_publichasználatával, a fordító figyelmeztetést fog generálni, amikor a nyilvánosan felügyelt típusú nyilvános függvény aláírásában megkísérli használni a natív szerkezeteket.
// make_public_pragma.cpp
// compile with: /c /clr /W1
#pragma warning (default : 4692)
#include "make_public_pragma.h"
#pragma make_public(Native_Struct_1)
public ref struct A {
void Test(Native_Struct_1 u) {u.i = 0;} // OK
void Test(Native_Struct_2 u) {u.i = 0;} // C4692
};
Lásd még:
Pragma irányelvei, valamint a __pragma és _Pragma kulcsszavak