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

Reply via email to