我正在做一些跨平台开发,我遇到了另一个奇怪的问题..
namespace Math
{
#include <math.h>
}这就是我正在尝试做的事情。它在iOS上运行得很好,但在安卓系统上,当我试图编译它时,math.h中的所有东西都不是Math的成员。经过一些尝试错误后,我发现ndk没有将这些东西放在命名空间Math中的math.h中,因为没有Math::前缀的函数确实存在。最大的问题是math.h中的一些函数与我自己的便利函数冲突。我该如何解决这个问题呢?
发布于 2011-10-09 02:46:46
那<cmath>呢?它将所有内容都放在std::中(在C++11中)。
发布于 2011-10-09 02:45:20
您真的不应该尝试将任何系统头文件放入不同的名称空间。解决方案是将所有代码放到它自己的命名空间中,尽管在开发的这一点上可能很痛苦。
发布于 2011-10-09 02:44:07
不要将方便的函数放在全局名称空间中。
不要试图将math.h包装在名称空间中。
好了,一切都好了。
干杯&哈。
https://stackoverflow.com/questions/7698979
复制相似问题