This discussion is archived
1 Reply Latest reply: Jan 29, 2012 7:31 AM by Steve_Clamage RSS

Incorrect access checking prevents out-of-class member definitions

902766 Newbie
Currently Being Moderated
Solaris Studio 12.3 compiler fails to compile code like that:
class C {
    typedef void (*Fun)();
public:
    template<Fun f> void call();
};

template<C::Fun f>  // CC complains: line 7: Error, inaccessible: C::Fun is not accessible from file level.
void C::call()
{
    f();
}
In this context C::Fun should be accessible because we are defining C's member function

This bug prevents compiling WebKit module bundled with Qt-4.8.0 (JSParser.cpp contains code like that)