1

SetLongField が setIntField になるように、このコード スニペットを変更することは可能ですか?

jobject nbField ;
UL l_ul_NbField ;

jclass longClass = i_env->GetObjectClass(nbField);
jfieldID val = i_env->GetFieldID(longClass, "value", "J");
i_env->SetLongField(nbField, val, (L)l_ul_NbField);

私がする時 :

jclass intClass = i_env->GetObjectClass(nbField);
jfieldID val = i_env->GetFieldID(intClass, "value", "I");
i_env->SetIntField(nbField, val, (I)l_ul_NbField);

クラッシュ!_ なんで ?

4

1 に答える 1

0

nbField の型を確認できますか? nbField が Long 型の場合、i_env->GetFieldID(intClass, "value", "I");null が返されるため、setIntField を呼び出すとクラッシュが発生します。

于 2013-05-30T04:45:56.047 に答える