Aracılığıyla paylaş


Derleyici Hatası C3381

'identifier' : derleme erişim tanımlayıcıları yalnızca /clr seçeneğiyle derlenen kodda kullanılabilir

Açıklamalar

Bir tür, yalnızca kullanılarak derlenen kodda izin verilen bir erişim tanımlayıcısı kullanılarak /clrbildirilmiş veya tanımlanmıştır.

Bu hata yanlış yerleştirilmiş bir , publicveya anahtar sözcüğünden ya da protected veya içindeki bir erişim tanımlayıcısından sonra iki nokta üst üste (private) eksik olabilir :class.struct

C++/CLI'da, yerel türler bir derlemenin dışında görülebilir, ancak derlemedeki /clr yerel türler için yalnızca derleme erişimi belirtebilirsiniz. Daha fazla bilgi için bkz . Tür görünürlüğü ve /clr (Ortak Dil Çalışma Zamanı Derlemesi).

Örnek

Aşağıdaki örnek C3381 oluşturur. Düzeltmek için önce tanımlayıcıyı public tanımdan class A kaldırın veya seçeneğini kullanarak derleyin /clr . Ardından, için erişimi belirtmek için privatesonra class B {} b; iki nokta üst üste ekleyin. Bunun nedeni, iç içe bir sınıfın bildiriminin bir parçası olarak bir derleme erişim tanımlayıcısına sahip olamıyor olmasıdır.

// C3381.cpp
// compile with: /c
public class A {   // C3381
    private class B {} b;   // C3381
};