从jobobject转换为jboolean会失去精度
cast from jobject to jboolean loses precision
我正在尝试将jobobject转换为jboolean
jmethodID mGet = env->GetMethodID(cJsonObjClass, "get","(Ljava/lang/String;)Ljava/lang/Object;");
jboolean val = (jboolean)env->CallObjectMethod(object, mGet , key);
得到编译错误:
从'jobject {aka _jobject*}'转换为'jboolean {aka unsigned char}' '失去精度[-fpermissive]
这是什么意思,该怎么做?
对于使用CallObjectMethod
时出现错误的任何人
error: cast from pointer to smaller type 'jboolean' (aka 'unsigned char') loses information
调用返回布尔列表的方法以使用CallObjectMethod
所以答案是:
改变 jboolean val = (jboolean)env->CallObjectMethod(object, mGet , key);
jboolean val = (jboolean)env->CallBooleanMethod(object, mGet , key);
相关文章:
- 主.cpp:18:20:错误:从"int*"转换为"int"会失去精度 [-fa
- C++:从 "const variable*" 转换为"uint32"会失去精度
- strtoull() 的输出在转换为双精度然后又转换为 uint64_t 时会失去精度
- C++错误:从“int*”转换为“int”会失去精度
- 从 double* 转换为 int 会失去精度
- 超载结构操作员在乘以双打时会失去精度
- 警告隐性转换失去整数精度
- 从'byte* {aka unsigned char*}'到'dword {aka长unsigned int}'失去精度
- 对浮点数求和会因类型转换而失去精度
- 为什么“从'x*'到'y'失去精度”是一个硬错误,什么是适合旧版代码的解决方案
- int64_t再次加倍为int64_t,失去精度
- 错误:从'char*'转换为'unsigned int'会失去精度
- 将 XOR 加密错误字符转换为 int 会失去精度
- 将字符串转换为双精度 -- 会失去精度
- 在字符串流中失去精度
- 错误:在makefile中从' void* '转换为' int '会失去精度[-fpermissive]
- 使用克拉姆-施密特可能会失去精度
- 从jobobject转换为jboolean会失去精度
- 使用陆地时失去精度警告
- 错误:从int (*)(const char*, stat*)转换为unsigned int会失去精度