make_public
pragma
Yerel bir türün genel derleme erişilebilirliği olması gerektiğini gösterir.
Sözdizimi
#pragma make_public(
tür)
Parametreler
type
Genel derleme erişilebilirliği olmasını istediğiniz türün adı.
Açıklamalar
make_public
, başvurmak istediğiniz yerel türün değiştirememenize neden olan bir üst bilgi dosyasından olması için yararlıdır. Genel derleme görünürlüğüne sahip bir türdeki ortak işlevin imzasında yerel türü kullanmak istiyorsanız, yerel tür de ortak derleme erişilebilirliğine sahip olmalıdır, aksi takdirde derleyici bir uyarı yayınlar.
make_public
genel kapsamda belirtilmelidir. Yalnızca kaynak kod dosyasının sonuna kadar bildirildiği noktadan itibaren geçerlidir.
Yerel tür örtük veya açıkça özel olabilir. Daha fazla bilgi için bkz . Tür görünürlüğü.
Örnekler
Aşağıdaki örnek, iki yerel yapının tanımlarını içeren bir üst bilgi dosyasının içeriğidir.
// make_public_pragma.h
struct Native_Struct_1 { int i; };
struct Native_Struct_2 { int i; };
Aşağıdaki kod örneği üst bilgi dosyasını tüketir. Kullanarak yerel yapıları açıkça genel make_public
olarak işaretlemediğiniz sürece, ortak işlevin imzasında yerel yapıları genel yönetilen bir türde kullanmaya çalıştığınızda derleyicinin bir uyarı oluşturacağını gösterir.
// 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
};
Ayrıca bkz.
Pragma yönergeleri ve __pragma
ve _Pragma
anahtar sözcükleri