7
การอ้างอิงที่ไม่ได้กำหนดสำหรับสมาชิกคลาสแบบสแตติก
ใครสามารถอธิบายได้ว่าทำไมรหัสต่อไปนี้จะไม่รวบรวม อย่างน้อยใน g ++ 4.2.4 และน่าสนใจมากขึ้นทำไมมันจะรวบรวมเมื่อฉันเลือกสมาชิกเพื่อ 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; }