我正在将一些笨拙的 C++ Windows 代码移植到 Linux,它在每个类中使用称为“打开”和“关闭”的函数......非常糟糕的风格,或者?幸运的是,这在 Windows 中不是问题,因为它们的系统调用名称不同。
当我尝试调用系统调用 open() 或 close() 时,我收到一些关于“类调用没有匹配函数:open()”的编译器错误。我无法在整个代码中重命名所有名为“class::open”和“class::close”的函数,而且我必须使用 open() 和 close(),因为我正在使用串行端口。
所以我的问题是:我怎样才能告诉编译器,我的意思是哪个打开?如何在 C++ 中转义或隐藏类的命名空间?