Пытаюсь сделать лямбда-захват и мне ошибку компилятор выдает
sql = "SELECT name FROM sqlite_master WHERE type='table' AND name='PERSON';";
bool tableExist = false;
sqlite3_exec(DB, sql.c_str(),
[&tableExist](void *NotUsed, int argc, char **argv, char **azColName) -> int {
if (argc > 0) {
tableExist = true;
return 0;
}
return 1;
}, nullptr, &messageError);
ОШИБКА : No matching function for call to 'sqlite3_exec'
Если не пользоваться лямбда-захватом, то все работает. Как выполнить sqlite3 запрос и передать туда Лямбда функцию, которая изменить внешнюю переменную?
Существование Таблиц не надо проверять, просто будет ошибка запроса и приложение упадёт или часть приложения завершится аварийно. Так и должно быть, таблицы в приложении не создаются на лету..
Ну и лямбда тут совсем не нужна
Обсуждают сегодня