Microsoft Visual C++ 2008 SP1 Using namespace bug

Back to programming

Here the compiler complains that the 'uint' in the class 'A' declaration ambiguates with the 'uint' declaration in namespace N. However, the 'using namespace N;' is yet to follow when the class 'A' is declared. Microsoft replied the following:

"Hi: while this [sic] strictly a bug in the Visual C++ compiler it is unfortunately closely tied up with how templates are implemented in Visual C++ - so it is not something we would fix any time soon."

typedef unsigned int uint; 

template <typename Type> 
class A 
{ 
public: 
    uint a_; 
}; 

namespace N 
{ 

    typedef unsigned int uint; 

} 

using namespace N; 

A<int> a;

int main()
{
    return 0;
}