繁体   English   中英

Android NDK和C ++ STL

[英]Android NDK and C++ STL

在为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);

恕我直言,失去使用指令并使用完全限定名称。 它干净,精确,不允许命名碰撞。 如果必须使用它们,请不要在头文件中使用它们,只在实现文件中使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM