我有这个 typedef 结构和一个“构造函数”:
typedef struct database {
char key;
char value;
struct database *next;
} Database;
Database db_createDb() {
Database *db;
db = malloc(sizeof(struct database));
return *db;
}
我正在从主函数调用:
int main(int argc, char *argv[]) {
Database database = db_createDb();
}
为什么我会收到错误消息“数据库有初始化程序但类型不完整”?
最佳答案
通过Database
更改database
,并保留指针以备后用:
Database * db_createDb()
{
Database *db;
db = (Database *)malloc(sizeof(Database));
return db;
}
int main(int argc, char *argv[])
{
Database * database = db_createDb();
....
free(database);
}
关于c - 错误 : variable ‘database’ has initializer but incomplete type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20142394/