0
我書面方式功能打開一個數據庫,這是它的外觀到目前爲止:SQLITE3,我不明白爲什麼我的指針的值歸零
bool
Sqlite3::openDB(std::string filename, sqlite3* db)
{
std::ifstream file (filename.c_str());
if(!file)
{
std::cerr << "Can't open database, file not found. " << std::endl;
return false;
}
file.close();
if(sqlite3_open(filename.c_str(), &db))
{
std::cerr << "Can't open database: " << sqlite3_errmsg(db) << std::endl;
sqlite3_close(db);
return false;
}
std::cout << (int)db << std::endl; // added to check the pointer (3)
return true;
}
在
的main():
int main(int argc, char **argv)
{
sqlite3 *db = nullptr;
std::cout << (int)db << std::endl; // (1)
// Open Database
sqlite3_engine.openDB("./bedrock.db",db);
std::cout << (int)db << std::endl; // (2)
/*...*/
}
在(1)我得到空,在(3)我得到不爲空,但在東西(2)我得到的東西空,我不明白爲什麼...
好的謝謝,問題解決了... –