函数中的冲突类型

标签 c function sqlite

这个函数在过去几天里工作和编译得很好,但是现在给了我一个错误:

"conflicting types for '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*);

关于函数中的冲突类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894039/

相关文章:

c - 使用 Microsoft Visual C++ 6 的 FTP 事务

c - 为什么 scanf 无法读取我的输入?

c - malloc 后大小为 8 的无效写入

javascript - 传入的 jQuery 插件设置范围

java - JTable 的 SQLite 语法错误

c - C 中的段错误(代码转储)错误

javascript - A-frame 添加启用/禁用功能组件

php - 如何给 PHP 中的函数起有意义的名称?

python - Python 3 创建表时出现 sqlite3.OperationalError

java - 查找多列之间的第二低值