Öğeleri saklamak istediğim Stuff adlı küçük bir sınıfa sahibim. Bu şeyler int türünün listesidir. Kullandığım her sınıftaki kodum boyunca Stuff sınıfındaki bu şeylere erişmek istiyorum.Sınıfım statik üyeleri olduğunda neden C++ programım bağlantı vermiyor?
main.cpp:
#include "Stuff.h"
int main()
{
Stuff::things.push_back(123);
return 0;
}
Stuff.h:
#include <list>
class Stuff
{
public:
static list<int> things;
};
ama bu kod ile bazı derleme hataları alıyorum:
hata LNK2001: çözülmemiş dış sembol "kamu : statik sınıf std :: liste < int, sınıf std :: ayırıcı > > Stuff :: things "(? Şeyler @ Stuff @@ 2V? $ Liste @ HV? $ Allocator @ H @ std @@@ std @@ A) Ana.obj CSandbox
ölümcül hata LNK1120: 1 çözülmemiş dış kaynak C : \ Stuff \ Projects \ CSandbox \ Debug \ CSandbox.exe CSandbox
Ben bir C# adamım ve bir yan proje için C++ öğrenmeye çalışıyorum. Bence C++ statik üyelere nasıl davrandığını anlamıyorum. Yani lütfen burada neyin yanlış olduğunu açıklayınız.
Politik olarak kod örneğinizi biçimlendirmeye çalıştığınızı söyleyebilir miyim? :-) – stiank81
Nasıl yapılacağını bilseydim, Greg'in benim için –
benim için yeterli olduğunu fark ettim ama cevaplarımı verecektim ve ... 2 yeni cevap. Sadece bildiğim için. – Hai