Может кто-нибудь объяснить, почему следующий код не будет компилироваться? По крайней мере, на g++ 4.2.4.
И что еще интереснее, почему он будет компилироваться, когда я делаю MEMBER в 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;
}
