gpt4 book ai didi

安卓 NDK 和 C++ STL

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:12:02 26 4
gpt4 key购买 nike

当为 iOS 项目编译我的 C++ 时,一切都进行得很好。但是,我在 Android 上遇到了困难。

我的 Application.mk 是这样的:

APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-11
APP_STL := stlport_shared

所有 LOCAL_SRC_FILES 均已定义。

当我尝试构建我的模块时,出现以下编译器错误:

jni/Game.hpp: In member function 'const std::pair<pos, Obj*>* MyEnumerator::next()':
jni/Game.hpp:126:23: error: expected type-specifier
jni/Game.hpp:126:23: error: cannot convert 'int*' to 'std::pair<pos, Obj*>*' in assignment
jni/Game.hpp:126:23: error: expected ';'

上面提到的代码行是这样的:

this->ptr = new pair<pos, Obj*>::pair(it->first, it->second);

在这里,ptr类型为 pair<pos, Obj*>*pos是一个结构。我已经宣布 using std::pair; .

关于哪里出了问题以及应该尝试什么的任何提示?

最佳答案

尝试将行更改为:

this->ptr = new std::pair<pos, Obj*>(it->first, it->second);

还有恕我直言,丢掉 using 指令并使用完全限定的名称。它干净、精确,并且不允许命名冲突。如果您必须使用它们,请不要在头文件中使用它们,只需在您的实现文件中使用它们。

关于安卓 NDK 和 C++ STL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13907613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com