mar*_*n2k 1 c++ namespaces system-calls
我正在将一些狡猾的C++ Windows代码移植到Linux上,它在每个类中都使用了"open"和"close"的功能......非常糟糕的风格,还是?幸运的是,这不是Windows中的问题,因为他们的系统调用被命名为不同.
当我尝试调用systemcalls open()或close()时,我收到一些关于"没有匹配函数调用class:open()"的编译器错误.我不能在整个代码中重命名所有名为"class :: open"和"class :: close"的函数,我必须使用open()和close(),因为我正在使用串行端口.
所以我的问题是:我怎么能告诉编译器,我打开哪个?如何在C++中转义或隐藏类的命名空间?