error: conversion from 'Test*' to non-scalar type 'Test' requested
Android系统源码AOSP(Android Open Source Platform)下编译的.so在NDK环境下使用时,NDK编译报标题所示错误。Test类源码如下:
class Test{public:Test();void helloWorld();
};
jni中的使用代码如下:
Test test = new Test();
test.helloWorld();
错误提示:标量向非标量转换错误。即我在使用时,将标量转换为非标量导致转换错误,即编译器不允许这样转换。研究了一下,Test test = new Test()右侧的new操作符创建的是指针变量,左侧的类属于非标量。
【问题解决】:修改jni使用代码如下:
Test *test = new Test();
test->helloWorld();
这样等号左右两侧均为标量。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
