İnternette aradım ve bazı kişilerin statik olmayan üye işlevinin statik üye işlevine veya verilere erişebileceğini söylediğini fark ettim. Sonra doğrulamak için bir program yazdım.Statik olmayan üye işlev erişimi statik üye işlevi veya verileri olabilir mi?
#include <iostream>
class test
{
public:
static int a;
void printa()
{
std::cout<<a;
}
};
int main(int argc, const char * argv[])
{
test m;
m.printa();
return 0;
}
Kod, linker hataları üretir! bir sınıf içinde static
olarak bir değişken tanımlama
Undefined symbols for architecture x86_64:
"test::a", referenced from:
test::printa() in main.o
olası yinelenen http: // stackoverflow.com/sorular/8612206/bağlayıcı-hata-zaman-kullanma-statik-üyelerini) – AnT
İşte benzer bir sorundur ve çözümü [İşte] olduğu [1] [1]: http: // stackoverflow .com/questions/8034568/undefined-symbols-architecture-x86-64-of-architecture-should-i-use – Uahmed
olası yinelenen [Özel statik üyelerin başlatılması] (http://stackoverflow.com/questions/185844/initializing-private-static-members) –