http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58091
Bug ID: 58091
Summary: Non-ambiguous member lookup rejected
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: fimbul77 at gmail dot com
The following code is rejected:
namespace NS
{
template < int N >
struct NS
{
constexpr static int value = N ;
} ;
}
int main()
{
using namespace NS ;
NS<0>::value ;
// gcc says a name 'NS' is ambiguous.
// clang says 'NS' is class template name NS::NS ;
}
I think NS<0>::value is not ambiguous.
Because namespace is uncomparable and can not be template.