Я хочу получить массив Java long[]
и в конечном итоге передать его функции powerEstimate
, для которой требуется ввод const long
.Это определение функции в c ++:
void powerEstimate(const double rr_data[], const long timeRR_data[])
Это код, который я использую для получения массива Java long[]
:
Java_com_example_matteofabris_stressmanagement_acquisition_SewAcquisition_powerEstimateNative(
JNIEnv *env, jobject, jdoubleArray rr_j_, jlongArray timeRR_j_) {
// GET
double* rr_j = env->GetDoubleArrayElements(rr_j_, NULL);
long* timeRR_j = env->GetLongArrayElements(timeRR_j_, NULL);
// TODO
powerEstimate(rr_j, timeRR_j)
При сборке я получаю эту ошибку:
/Users/matteofabris/AndroidStudioProjects/StressManagement/app/src/main/cpp/native-lib.cpp:35:11: error: cannot initialize a variable of type 'long *' with an rvalue of type 'jlong *' (aka 'long long *')
long* timeRR_j = env->GetLongArrayElements(timeRR_j_, NULL);
Может кто-нибудь объяснить, почему я получаю эту ошибку и как ее решить?Заранее спасибо за терпение.