当前位置: 技术问答>linux和unix
GTK+遇到一个超怪异的错误,定义的结构体赋值就出错。
来源: 互联网 发布时间:2016-04-17
本文导语: 大家好! 我在头文件mystruct.h里定义了一个结构体。 typedef struct _AppData AppData; struct _AppData { GtkWidget *images; gchar *filename...
大家好!
我在头文件mystruct.h里定义了一个结构体。
然后再在我的interface.c里引用这个头文件,创件了一个结构。
请问这个错误是何原因造成。谢谢!
我在头文件mystruct.h里定义了一个结构体。
typedef struct _AppData AppData;
struct _AppData {
GtkWidget *images;
gchar *filename_n;
gchar *filename_c; };
然后再在我的interface.c里引用这个头文件,创件了一个结构。
AppData *imgPlanC;
imgPlanC->filename_n = "./pixmaps/plan_n.png";
imgPlanC->filename_c = "./pixmaps/plan_c.png"; //程序只要运行到这里就出错,除非我定义它为NULL
//可通过编译,但是让窗口无法启动
请问这个错误是何原因造成。谢谢!
|
AppData *imgPlanC = new AppData();
imgPlanC->filename_n = "./pixmaps/plan_n.png";
imgPlanC->filename_c = "./pixmaps/plan_c.png";
|
显然是没有给结构体对象分配内存空间。
|
没有分配内存,纯属乱用
|
没用过GTK
难道imgPlanC指针不用分配空间的么?
难道imgPlanC指针不用分配空间的么?
|
除非指着初始化时候可以指向什么
其他时候赋值,要给空间
其他时候赋值,要给空间