以下程序不會編譯。我已經將代碼縮減爲這個簡單的程序。我已經發布了編譯命令及其輸出。C和GTK通過參數
#include <gtk/gtk.h>
void update_label(GtkLabel *glab);
void update_label(GtkLabel *glab)
{
}
int main(int argc, char *argv[])
{
GtkWidget *lbl;
gtk_init(&argc, &argv);
lbl = gtk_label_new("Hi");
update_label(lbl);
gtk_main();
return 0;
}
編譯器的輸出是:
[email protected] ~/c/label $ gcc `pkg-config --cflags gtk+-3.0` my04.c -o my04 `pkg-config --libs gtk+-3.0`
my04.c: In function ‘main’:
my04.c:17:3: warning: passing argument 1 of ‘update_label’ from incompatible pointer type [enabled by default]
update_label(lbl);
^
my04.c:5:6: note: expected ‘struct GtkLabel *’ but argument is of type ‘struct GtkWidget *’
void update_label(GtkLabel *glab)
^
'不會編譯... ...你怎麼知道? –
如果您提出有關構建錯誤的問題,請將完整構建日誌(作爲文本)複製粘貼到問題的正文中。然後標出哪些錯誤代碼行,例如代碼中的註釋。 –
@ Jean-FrançoisFabre所以,你說,如果我說,我會去,這也意味着我不想去? :( –