C++写的DLL中将自定义的类转换为joject类型。----staMeter.h----
class staMeter{
  public:
  double dAct;             
  double dDef;     
};
 
--------unit1.cpp----------
include "staMeter.h"
 
 JNIEXPORT jobject JNICALL Java_testdll_ReadDataRM
  (JNIEnv *jenv, jobject jobj, jint hd){
        staMeter pstaMeter;
        pstaMeter.dAct=88888.88;
        pstaMeter.dDef=99999.99;
return pstaMeter;

编译报错啊:
error: E2034 Cannot convert 'staMeter' to '_jobject*'

解决方案 »

  1.   

    这里是java版,貌似lz发错地方了……
      

  2.   

    没有发错地方啊,我主要是用C++写一个DLL,这个DLL是给java 调用的。
    其中就有必要将其类型转换。如返回int类型,这里就是返回jint类型。
    JNIEXPORT jobject JNICALL Java_testdll_ReadDataRM
      (JNIEnv *jenv, jobject jobj, jint hd)本函数要求返回jobject,在C++中我是返回staMeter就行了,但现在要给java调用,
    因此就需要转换成jobject类型。有谁知道??????
      

  3.   

    首先这个jobject是什么,需不需要强制转换?
    我也是刚接触jni,和楼主一起研究。
      

  4.   

    苦啊,JAVA不是万能的,有时候也不要太崇拜JAVA了,毕竟语言思死的程序员死活得