我遇到以下错误:
“错误:成员引用基本类型为'开始'
(aka'struct no_start *')不是结构或联合”。
因此,我有很多类似的结构:
typedef struct no_start * start;
struct no_start{
prog * node_program;
};
和这样的功能:
start * insert_start(prog * program){
start * data = (start *) malloc(sizeof(start));
data->node_program = program;
return data;
}
我有一个文件functions.c,其中有像这样的简单函数,一个文件structs.h,其中有结构,最后一个function.h,我声明了第一个文件的功能。
我不明白为什么我有这个错误。对于每个函数,我都会得到与分配一样多的错误。
最佳答案
您无需键入cast即可返回malloc。这样做将创建一个指向指针的指针。作为非强制转换的malloc调用将返回指向为您的结构分配的内存的指针
关于c++ - 带有指针的功能:成员引用基本类型(…)不是结构或 union ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29683031/