Я хочу иметь статический указатель на структуру sqlite3, поэтому я мог бы сразу открыть соединение с БД, выполнить некоторые запросы во время выполнения и закрыть соединение с БД на выходе программы.Как определить статический указатель на sqlite3 struct? C++
(я связан sqlite3 статическую LIB, DLL)
так в моем классе заголовок:
foo.h:
#include "sqlite/sqlite3.h"
class foo
{
public:
static sqlite3 *db;
static void connect();
}
foo.cpp:
#include "foo.h"
sqlite3 foo::*db = nullptr;
foo::connect(){
//sqlite3 *db; //<-this works
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("test.db", &db);
if(rc){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}else{
fprintf(stderr, "Opened database successfully\n");
}
//sqlite3_close(db); // close connection when program is exiting. Not here.
}
I ge т эта ошибка: LNK2001: неразрешенный внешний символ «публичный статический структура sqlite3 * Foo :: дб» ....
это работает, спасибо :) –