make_public pragma

Yerel bir türün genel derleme erişilebilirliği olması gerektiğini gösterir.

Sözdizimi

#pragma make_public(type)

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_publicolarak 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