Ho cercato su Internet e ho scoperto che alcune persone hanno affermato che la funzione membro non statico può accedere alla funzione o ai dati dei membri statici. Quindi ho scritto un programma per verificarlo.La funzione membro non statico può accedere alla funzione o ai dati dei membri statici?
#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;
}
Il codice genera errori di linker!
Undefined symbols for architecture x86_64:
"test::a", referenced from:
test::printa() in main.o
possibile duplicato del [errore di linker quando si utilizzano i membri statici] (http: // StackOverflow.com/domande/8612206/static-membri linker-error-quando-con-) – AnT
Ecco simile problema e la sua soluzione è [qui] [1] [1]: http: // StackOverflow .com/questions/8034568/undefined-symbols-for-architecture-x86-64-which-architecture-should-i-use – Uahmed
possibile duplicato di [Inizializzazione di membri statici privati] (http://stackoverflow.com/questions/185844/initializing-private-static-members) –