Makale numarası: 151167 - Son Gözden Geçirme: 02 Aralık 2003 Salı - Gözden geçirme: 2.0

Hata: LNK2001 hata sınıf şablonu alanında statik üyesi için

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Linker Hata LNK2001 statik üyesine sınıf şablonları iç içe geçmiş alt sınıflarda değişkenler için oluşturulur. Ileti durumu:
<a1>hata</a1> LNK2001: çözülmemiş bir dış simge "ortak: statik bir int outer<int>::Inner::sobj"(?sobj@Inner@?$outer@H@@2HA)

Çözüm

Statik üyesine değişkenleri sınıf şablonları iç içe geçmiş sınıflarda kullanmayın.

Durum

Microsoft bu hatanın bu makalenin başında listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

Aşağıdaki örnek kod, hata iletisinin LNK2001 sağlar.

Örnek kod

/* Compile options needed: none
*/ 

template<class T> class Outer
{
public:
    static T souter;

    class Inner
    {
    public:
        static T sobj;
    };
};

template <class T> double Outer<double>::souter = 1;

template <class T> int Outer<int>::Inner::sobj = 5;

void main()
{
    double dval = Outer<double>::souter;

    int i = Outer<int>::Inner::sobj;
}
				

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ 2.0 Professional Edition
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 2.2
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 4.1 Aboneliği
  • Microsoft Visual C++ 4.2 Enterprise Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 4.2 Professional Edition
  • Microsoft Visual C++ 5.0 Professional Edition
Anahtar Kelimeler: 
kbmt kbbug kbcompiler kbcpponly KB151167 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:151167  (http://support.microsoft.com/kb/151167/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.