cannot initialize a parameter of type 'jboolean *' (aka 'unsigned char *') with an rvalue of type...
2018.05.13 12:05:28字数 86阅读 1047
cannot initialize a parameter of type 'jboolean *' (aka 'unsigned char *') with an rvalue of type 'bool'
错误代码
const char *jstringTocharArray(JNIEnv *env, jstring str) {
return env->GetStringChars(str,false);
}
最新版的jni规范检测牛逼了,出现了一大把错误,查看声明如下
const char* GetStringUTFChars(jstring string, jboolean* isCopy)
所以要传递的非c的false我找了找语法糖,发现可能是这个,
改成JNI_FALSE之后这个错误消失了。
本文解析了在使用JNI进行Java与C/C++交互时遇到的类型转换问题,具体为如何将C++中的bool类型正确传递给JNI函数参数中要求的jboolean*类型。通过修改代码中的常量值,从使用C++的false改为JNI专用的JNI_FALSE,成功解决了编译错误。
438

被折叠的 条评论
为什么被折叠?



