Dan*_*ani 7 c++ java-native-interface
我正在尝试将 jobject 转换为 jboolean
jmethodID mGet = env->GetMethodID(cJsonObjClass, "get","(Ljava/lang/String;)Ljava/lang/Object;");
jboolean val = (jboolean)env->CallObjectMethod(object, mGet , key);
Run Code Online (Sandbox Code Playgroud)
得到这个编译错误:
从 'jobobject {aka _jobject*}' 转换为 'jboolean {aka unsigned char}' 失去精度 [-fpermissive]
这是什么意思,该怎么做?
对于在使用时遇到错误的任何其他人 CallObjectMethod
error: cast from pointer to smaller type 'jboolean' (aka 'unsigned char') loses information
Run Code Online (Sandbox Code Playgroud)
调用返回布尔值的方法的正确方法 CallObjectMethod
所以这里的答案是:
改变
jboolean val = (jboolean)env->CallObjectMethod(object, mGet , key);
Run Code Online (Sandbox Code Playgroud)
到
jboolean val = (jboolean)env->CallBooleanMethod(object, mGet , key);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1010 次 |
| 最近记录: |