Bagikan melalui


make_public pragma

Menunjukkan bahwa jenis asli harus memiliki aksesibilitas perakitan publik.

Sintaks

#pragma make_public(jenis)

Parameter

jenis
Nama jenis yang Anda inginkan memiliki aksesibilitas perakitan publik.

Keterangan

make_public berguna ketika jenis asli yang ingin Anda referensikan berasal dari file header yang tidak dapat Anda ubah. Jika Anda ingin menggunakan jenis asli dalam tanda tangan fungsi publik dalam jenis dengan visibilitas rakitan publik, jenis asli juga harus memiliki aksesibilitas perakitan publik, atau pengkompilasi akan mengeluarkan peringatan.

make_public harus ditentukan pada cakupan global. Ini hanya berlaku dari titik di mana ia dideklarasikan hingga akhir file kode sumber.

Jenis asli mungkin secara implisit atau eksplisit privat. Untuk informasi selengkapnya, lihat Mengetik visibilitas.

Contoh

Sampel berikut adalah konten file header yang berisi definisi untuk dua struct asli.

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

Sampel kode berikut menggunakan file header. Ini menunjukkan bahwa, kecuali Anda secara eksplisit menandai struktur asli sebagai publik dengan menggunakan make_public, pengkompilasi akan menghasilkan peringatan ketika Anda mencoba menggunakan struktur asli dalam tanda tangan fungsi publik dalam jenis yang dikelola publik.

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

Baca juga

Arahan Pragma dan __pragma_Pragma kata kunci