"Simple" question put short:
Why exactly does
JNIEnv *g_env = NULL;
(*g_env)->ExceptionDescribe(g_env);
compile in gcc (C)
but not in g++ (C++)
error: base operand of ‘->’ has non-pointer type ‘JNIEnv’ {aka ‘JNIEnv_’}
As I am working mainly with C++ I don't see why it should compile. As stated by the error, dereferencing the pointer will yield a "variable" and not a pointer anymore. I.e.: in C++ it would be either
g_env->ExceptionDescribe
or
(*g_env).ExceptionDescribe
as its not JNIEnv **