gpt4 book ai didi

c - g_slice_new 不接受我的结构类型

转载 作者:太空宇宙 更新时间:2023-11-04 07:43:03 24 4
gpt4 key购买 nike

这就是我构建它的方式:gcc pkg-config --cflags --libs gtk+-2.0 -o spawn spawn_with_pipes.c

在下面的示例片段中,我收到一个错误:“Data - it refers to data= g_slice_new(Data); 之前的语法错误”

#include <gtk/gtk.h>

typedef struct
{
/* Buffers that will display output */
GtkTextBuffer *out;
GtkTextBuffer *err;

/* Progress bar that will be updated */
GtkProgressBar *progress;

/* Timeout source id */
gint timeout_id;
}Data;

data= g_slice_new(Data); //error here

最佳答案

函数外的初始化器必须是常量表达式。您不能在其中调用函数。

此外,您代码中的变量“data”是一个int,g_slice_new 的返回是一个gpointer。

您需要更改“数据”的定义并将初始化移动到 main 中:

gpointer data;

int main(int argc, char *argv[])
{
...
data = g_slice_new(Data);

关于c - g_slice_new 不接受我的结构类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194454/

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