错误:"int sqlite3_open"重新声明为不同类型的符号"
Error: 'int sqlite3_open' redeclared as different kind of symbol'
我正在将C++与SQLite3一起使用。我在代码中不断收到错误:
'int sqlite3_open' redeclared as different kind of symbol
我的代码是:
#include <cstdio>
#include <sqlite3.h>
#include <windows.h>
#include <string>
#include <iostream>
sqlite3 *db;
int sqlite3_open("lg.sqlite", &db);
int main() {
return 0;
}
任何帮助不胜感激,谢谢。
简而言之,我的C++生锈了,因为你做了 sqlite3.h 的"包含",这已经有了 sqlite3_open(( 的定义。 因此,编译器会看到您的其他function
并引发错误。
因此,如果您实际上看到sqlite3 *db;
基本上是全局的(这可能会产生不可预见的后果(,但随后您放弃了 int sqlite3_open("lg.sqlite", &db);
它应该是什么样子...直接来自文档中的示例
int main(){
sqlite3 *db;
sqlite3_open("lg.sqlite", &db);
return 0;
}
这将打开数据库,为下一个命令做好准备。
相关文章:
- ISO C++禁止声明没有类型的"setInputNombre"
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 将类型声明为类型模板参数的模板参数的一部分是否合法?
- C++需要所有声明的类型说明符和预期的非限定 id(需要调试帮助)
- 为<vtkDataArray> VTK 非结构化网格声明 vtkSmartPointer 类型的变量时出现问题
- 如何声明不同类型的模板化类之间的转换
- c++17通过生成预先声明的类型列表的笛卡尔乘积来生成std::变体
- 从其他类声明类类型变量会给出 C2143 错误(在"*"之前缺少";")
- 声明中类型和对象的相同标识符
- 如果使用返回引用的函数初始化"auto"var,为什么它不声明引用类型?
- 我在 c++ 中声明字符串类型时遇到问题
- 使用 basic_string 声明新类型的字符串
- 将前向声明的类型转换为无效是否合法?
- C++错误:ISO C++禁止声明.没有类型
- 在类中创建向量(2D 数组)的向量 - Error:C++ 需要所有声明的类型说明符
- 为什么要在将 2d 数组传递给函数时将其声明为类型,为什么要在类型中包含行和列
- Opencv C++ 声明一个类型为 uint8 的矩阵
- 引用和指针混淆部分(声明及其类型)
- ISO C++禁止声明没有类型[-fpermission]的"transpose"
- 推断声明的类型