令牌之前的预期非限定 ID...'标准::'

expected unqualified-id before token... 'std::'

本文关键字:ID 标准 令牌      更新时间:2023-10-16

当我在Android NDK项目中编译c++代码时,我得到:

    expected unqualified-id before '(' token    FPEnvironment_DUMMY.h   /PocoFoundation/jni/include/Poco    line 98 C/C++ Problem

错误从以下几行开始:

    inline bool FPEnvironmentImpl::isInfiniteImpl(double value)
    {
        return std::isinf(value) != 0;
    }

包含以下包:

    #include <cmath>

当我删除std::时,错误似乎消失了,为什么会发生这种情况?我有很多源文件来删除类名std:/

所以我找到的解决方案是:

从头文件中删除std::,当根据这个

构建时,这些头文件会产生错误。

因为我们接下来要在eclipse-Android项目中包含我们在这里构建的静态库,新的编译需要在头文件中再次使用std::,所以我们简单地将它们恢复到原来的样式std::isinf等。std::的用法取决于你使用的标准库,是gnu还是stdl_port.

这个问题在这里讨论