gpt4 book ai didi

c - 使用 GTK+2 时收到 “format not a string literal and no format arguments” 警告

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:14 27 4
gpt4 key购买 nike

我遇到这样的错误:

warning: format not a string literal and no format arguments [-Wformat-security]
GTK_BUTTONS_OK,
(const gchar*)message);
^

因为这个函数:

static void show_message (gchar *message, GtkMessageType type) {
GtkWidget *dialog = gtk_message_dialog_new(NULL, 0, type,
GTK_BUTTONS_OK,
message);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}

我该如何解决?

最佳答案

答案很简单。

您必须将 "%s" 添加到 gtk_message_dialog_new() 函数的参数中,如下所示:

static void show_message (gchar *message, GtkMessageType type) {
GtkWidget *dialog = gtk_message_dialog_new(NULL, 0, type,
GTK_BUTTONS_OK, "%s",
message);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}

基本上,"%s" 的缺失被 gcc 认为是不安全的。

您可以在这里阅读更多相关信息:

关于c - 使用 GTK+2 时收到 “format not a string literal and no format arguments” 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823717/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com