由Namespace冲突导致报错 类不明确。

来源:互联网 发布:java 黑白棋 编辑:程序博客网 时间:2024/05/01 19:37

C++中引入头文件难免会有相同的类名导致冲突,所以提供了NameSpace来进行更多的减少类名冲突的问题。但是类名的冲突总是不能被完全解决的。

比如大家再引入了两个nameSpace的情况下,其中两个Namespace都有相同的类:

//nameSpace 测试 namespace A{    class T    {};    namespace B    {        class T        {};    }}

然后现在进行使用:

using namespace A;using namespace A::B;void main(){   auto t=T();}

那么编译器会报 “T”不明确的错误,所以这种情况你要是用T类必须要申明哪个namespace。 A::T或者 B::T.

0 0
原创粉丝点击