http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46054
Summary: Linker cannot resolve a pointer to a static member of a class in an anonymous namespace Product: gcc Version: 4.4.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: rar...@gmail.com This program demonstrates the problem: #include <iostream> namespace { class Foo { public: static const unsigned int Bar=7; }; } int main() { const unsigned int *pBar=&Foo::Bar; std::cout<<*pBar<<std::endl; return 0; } I'm compiling it like this: g++ GccBug_AnonClassStatic.cpp -o gccbug And get this: /tmp/ccYtiuKX.o: In function `main': GccBug_AnonClassStatic.cpp:(.text+0xd): undefined reference to `(anonymous namespace)::Foo::Bar' collect2: ld returned 1 exit status