在编写一些代码时,我遇到了这个问题:
#include <iostream>
class random
{
public:
random(){ std::cout << "yay!! i am called \n" ;}
};
random r1 ;
int main()
{
std::cout << "entry!!\n" ;
static random r2;
std::cout << "done!!\n" ;
return 0 ;
}
当我尝试编译此代码时,我收到错误
error: ârandomâ does not name a type.
当我为类使用一些不同的名称时,代码工作正常。
似乎random
是在其他地方定义的(尽管编译器消息不是很丰富)。
我的问题是如何确保我使用的名称不会与包含文件中使用的名称冲突。我曾尝试使用命名空间,但这会在调用时导致歧义。有什么见解吗?
[编辑]
我使用命名空间作为using namespace myNSpace
但是当我使用它时use myNSpace::random
它工作正常。