Czy ktoś może wyjaśnić, dlaczego poniższy kod nie zostanie skompilowany? Przynajmniej na g ++ 4.2.4.Niezdefiniowane odniesienie do statycznego członka klasy
I bardziej interesujące, dlaczego skompiluje się, gdy rzucam MEMBER do int?
#include <vector>
class Foo {
public:
static const int MEMBER = 1;
};
int main(){
vector<int> v;
v.push_back(Foo::MEMBER); // undefined reference to `Foo::MEMBER'
v.push_back((int) Foo::MEMBER); // OK
return 0;
}
Edytowałem pytanie, aby wprowadzić wcięcie kodu przez cztery spacje zamiast używać
. Oznacza to, że nawiasy kątowe nie są interpretowane jako HTML. –Wiwaty :) Reguła 10 znaków jest czasami denerwująca;) –