Разыменовывание указателя в C и в С++
Смотрю на чужой код инициализации JNI в примерах из C и C++. Одна и та же строка в C и в C++ выглядит по-разному.
// C
if ((*vm)->GetEnv(vm, (void **)&env, JNI_VERSION_1_4) != JNI_OK) {
// C++
if (vm->GetEnv((void **)&env, JNI_VERSION_1_4) != JNI_OK) {
Почему в С пишется (*vm)->GetEnv
, а в C++ - vm->GetEnv
?
Источник: Stack Overflow на русском