我尝试在我的buttons.c
文件中添加全局变量,但有一个错误 - initializer element is not constant
。示例headers.h
文件
struct MainStruct {
GtkEntryBuffer *buffer;
GtkWidget *entry;
GtkWidget *label;
};
extern struct MainStruct *p;
extern const char *text_entry;
void lower_button_clicked(GtkWidget *lowerbutton);
当文件main.c调用文件buttons.c时,我无法定义变量text_entry
。我究竟做错了什么?
按钮.c
#include <gtk/gtk.h>
#include "headers.h"
const char *text_entry = gtk_entry_buffer_get_text(p -> buffer); // is not constant, why?
void lower_button_clicked(GtkWidget *lowerbutton)
{
printf("%s\n", text_entry);
}
我看到了很多关于静态的类似问题,但是
static const char *text_entry = gtk_entry_buffer_get_text(p -> buffer);
不工作。如何将此变量定义为全局变量?避免类似功能的重复