我正在尝试创建一个struct对象(堆栈),它包含:
typedef struct node {
int val;
struct node * next;
}node_t;
typedef struct {
node_t * top;
int max_size;
int used_size;
} Stack;
但是,当我尝试初始化对象并使用以下函数为其分配一些内存空间时:
Stack * newStack(int max_size) {
Stack * S = malloc(sizeof(Stack));
S->top = NULL;
S->max_size = max_size;
S->used_size = 0;
return S;
}
Stack * S = newStack(256); //error here
我得到上面提到的错误 –
function call is not allowed in constant expression
我以前从未遇到过这种类型的错误,我不知道如何处理它.任何帮助表示赞赏.