使用Android本机代码创建arraylist

使用Android本机代码创建arraylist,第1张

概述如果这是一个重复的问题,请告诉我,不要downvote,我是 Android-native开发的新手.我想通过使用Android本机代码创建一个ArrayList,我尝试了以下内容: #include <jni.h>#include <android/log.h>#include <vector>template<class T>extern "C"{ //here it is sh 如果这是一个重复的问题,请告诉我,不要downVote,我是 Android-native开发的新手.我想通过使用AndroID本机代码创建一个ArrayList,我尝试了以下内容:

#include <jni.h>#include <androID/log.h>#include <vector>template<class T>extern "C"{  //here it is showing **error expected unqualifIEd-ID before string constant**std::vector<T> List;JNIEXPORT voID JNICALL Java_com_example_nativetestapp_NativeList_add(    jnienv * env,jobject obj,T t) {List.push_back(t); }JNIEXPORT jboolean JNICALL Java_com_example_nativetestapp_NativeList_remove(    jnienv * env,int pos) {if (pos > List.size() - 1 || pos < 0)    return false;return List.erase(List.begin() + pos) != NulL ? true : false; }JNIEXPORT jint JNICALL Java_com_example_nativetestapp_NativeList_size(    jnienv * env,jobject obj) {return List.size() == NulL ? 0 : List.size();}JNIEXPORT jint JNICALL Java_com_example_nativetestapp_NativeList_get(    jnienv * env,int pos) {return List[pos]; }JNIEXPORT jboolean JNICALL Java_com_example_nativetestapp_NativeList_contains(    jnienv * env,T t) {for (int var = 0; var < List.size(); var++) {    if(t==List[var])        return true; }return false;}JNIEXPORT jboolean JNICALL Java_com_example_nativetestapp_NativeList_remove(    jnienv * env,T t) {for (int var = 0; var < List.size(); var++) {        if(t==List[var]){            List.erase(List.begin()+var);            return true;        }    }    return false;}};

但我仍然坚持代码中提到的错误.如果我之后放了一个分号

template<class T>;

然后在这一行后我得到一个新的错误:

cannot resolve T symbol.

解决方法 在每个JNIEXPORT之前添加extern“C”,而不是包装所有代码. 总结

以上是内存溢出为你收集整理的使用Android本机代码创建arraylist全部内容,希望文章能够帮你解决使用Android本机代码创建arraylist所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存