簡體   English   中英

SQLite的sqlite3_exec和回調作為類成員

[英]SQLite's sqlite3_exec and callback as class member

我正在嘗試做

class Foo
{
 static int ReadSelfFromBase(void *userarg, int argc, char **argv, char **ColName){...}

public:
 void Bar(sqlite3* db)
 {
 ...
 rc = sqlite3_exec(db, "select * from test", &ReadSelfFromBase, this, &zErrMsg);
 ...
 }
}

int main()
{
Foo test;
...
test.Bar(db);
}

但是回調不會調用。 如果這樣做

int main()
{
 rc = sqlite3_exec(db, "select * from test", Foo::ReadSelfFromBase, NULL, &zErrMsg);
}

一切都很好。 有人知道如何解決這個問題嗎

PS對不起,英語不好

由於ReadSelfFromBase是靜態函數,因此Foo :: ReadSelfFromBase在Bar方法中應與在main中相同。

最好在任何需要的地方使用Foo::ReadSelfFromBase ,它是靜態的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM