C 函数中的冲突类型

C 函数中的冲突类型,c,function,sqlite,C,Function,Sqlite,该函数在过去几天中运行良好,编译良好,但现在给我的错误是: “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 = sqlit

该函数在过去几天中运行良好,编译良好,但现在给我的错误是:

“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;}

我真的不明白为什么我现在会遇到这个问题,因为我甚至没有更改函数内容,因为它工作得很好。

这个错误消息确切地告诉你发生了什么-有一个隐式声明PrepareSQLRead,因为你没有在
main()
之前显式声明。可能是在main之前添加转发声明:

sqlite3_stmt* PrepareSQLRead(sqlite3, char*);

您最近删除了头文件吗?