【问题标题】:VisualGDB. Expression must have pointer type可视化数据库。表达式必须有指针类型
【发布时间】:2015-02-12 01:25:55
【问题描述】:

我刚刚开始使用visualgdb

#include <string.h>
#include <jni.h>
#include <stdio.h>

int s_ButtonPressCounter = 0;

jstring
Java_com_visualgdb_example_AndroidProject1_AndroidProject1_stringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
    char szBuf[512];
    sprintf(szBuf, "You have pressed this huge button %d times", s_ButtonPressCounter++);
    jstring str = (*env)->NewStringUTF(env, szBuf);
    return str;
}

我有我的 intelissense 显示错误日志 表达式必须有指针类型。

我尝试将其更改为 env.NewStringUTF(szBuf) 但构建出错。

【问题讨论】:

  • 使用snprintf,这样你就不会溢出szBuf。

标签: c++ c visual-studio-2010 android-ndk


【解决方案1】:

也许,你应该更换

jstring str = (*env)->NewStringUTF(env, szBuf);

与

jstring str = env->NewStringUTF(env, szBuf);

或与

jstring str = (*env).NewStringUTF(env, szBuf);

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多