简体   繁体   English

SQLite 回调 function 作为 class 成员

[英]SQLite callback function as class member

I'm trying to make the SQLite callback function part of my class.我正在尝试使 SQLite 回调 function 成为我的 class 的一部分。 Any examples?有什么例子吗? I have tried this but it isn't compiling:我已经尝试过了,但它没有编译:

class Customer
{
    ...
public:
    int callback(void* data, int argc, char **argv, char **azColName);
};

std::string Customer::getCustomer()
{
    ...
    int res = sqlite3_exec(db, sqlStatement.c_str(), callback, nullptr, &errMessage);
    ...
}

The problem is with callback parameter in sqlite3_exec .问题在于sqlite3_exec中的callback参数。

You should use static method for sqlite3_exec as a callback.您应该使用sqlite3_exec的 static 方法作为回调。

define: static int callback(void* data, int argc, char **argv, char **azColName);定义: static int callback(void* data, int argc, char **argv, char **azColName);

call: int res = sqlite3_exec(db, sqlStatement.c_str(), Customer::callback, nullptr, &errMessage);调用: int res = sqlite3_exec(db, sqlStatement.c_str(), Customer::callback, nullptr, &errMessage);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM