这个功能在过去的几天里工作和编译得很好但是现在给我的错误是:
"' PrepareSQLRead'"
的冲突类型
以下是有问题的功能
sqlite3_stmt* PrepareSQLRead(sqlite3 *db, char* TableToRead){
int rc;
char SQL2[128];
sqlite3_stmt* SQL;
sprintf(SQL2, "SELECT * from %s", TableToRead);
printf("%s\n", SQL2);
rc = sqlite3_prepare_v2(db,SQL2,-1, &SQL, 0);
if (rc) {
fprintf(stderr, "Can't prepare statement: %s\n",
sqlite3_errmsg(db));
return NULL;
} else {
fprintf(stderr, "Statement prepared successfully\n");
}
return SQL;}
我真的不明白为什么我现在正在解决这个问题因为我甚至没有改变功能内容,因为它工作正常。
答案 0 :(得分:1)
该错误消息正在告诉您究竟发生了什么 - 存在 PrepareSQLRead 的隐式声明,因为您未在main()
之前明确声明。可以在main之前添加一个前向声明:
sqlite3_stmt* PrepareSQLRead(sqlite3, char*);