Sdílet prostřednictvím


make_public

Označuje, že nativní typ by měl mít veřejný přístup k sestavení.

#pragma make_public(type)

Parametry

type je název typu, který bude mít veřejný přístup k sestavení.

Poznámky

make_public je užitečná, pochází-li nativní typ, na který je odkazováno, ze souboru .h, který nelze změnit.Je-li třeba nativní typ použít v podpisu veřejné funkce v typu s veřejnou viditelností sestavení, musí mít nativní typ také veřejný přístup k sestavení. Pokud toto neplatí, kompilátor vygeneruje upozornění.

make_public musí být zadána v globálním oboru a je platná pouze od okamžiku, v němž je deklarována a platí až po konec souboru zdrojového kódu.

Nativní typ může být implicitně nebo explicitně soukromý. Více informací v tématu Typ viditelnosti.

Příklad

Následující příklad je obsah souboru .h, který obsahuje definice dvou nativních struktur.

// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };

Následující příklad kódu používá hlavičkový soubor a ukazuje, že pokud nejsou nativní struktury explicitně označeny jako veřejné, vygeneruje se při použití make_public, při pokusu o použití nativních struktur v podpisu veřejné funkce veřejného spravovaného typu, upozornění kompilátoru.

// 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
};

Viz také

Referenční dokumentace

Direktivy Pragma a klíčové slovo __Pragma