我将sqlite3.c sqlite3.h导入到我的项目中 - 我在编译时遇到了问题。
错误:
1>c:\...\storage_manager.h(7) : error C2079: 'storage_manager::db' uses undefined struct 'sqlite3'
1>storage_manager.cpp
1>c:\...\storage_manager.h(7) : error C2079: 'storage_manager::db' uses undefined struct 'sqlite3'
1>ui_manager.cpp
1>c:\...\storage_manager.h(7) : error C2079: 'storage_manager::db' uses undefined struct 'sqlite3'
代码:
#pragma once
#include "sqlite3.h"
class storage_manager
{
sqlite3 db;
sqlite3** db_pp;
public:
void open()
{
sqlite3_open("data.db", db_pp);
}
};
答案 0 :(得分:1)
我刚刚注意到您尝试创建一个名为 sqlite3 的堆栈变量,名为 db 。这不起作用,因为sqlite3是一个句柄,你只能有一个指针变量。然后,您需要将该指针变量的地址传递给sqlite3_open。
@Neil Butterworth发现它比我早一点: - )
答案 1 :(得分:1)
你不应该创建sqlite3类型的对象,只能创建指针。删除行:
sqlite3 db;
一切都应该没问题。