Я обертываю некоторый код sqlite3 C в C ++ и запутался в аргументах этого типа void(*)(void*)
в этой функции
int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*));
Так что моя обертка выглядит как
int Query::Blob(int index, const void* blob, int blob_size, void* memory_management){
return sqlite3_bind_blob(stmt, index, blobl, blob_size, memory_management);
}
Я должен быть в состоянии передать следующее до последнего аргумента
Некоторая функция для освобождения памяти BLOB-объектов
Либо SQLITE_STATIC
, либо SQLITE_TRANSIENT
определяет
Эти два определения неудивительно определены как
typedef void (*sqlite_3_destructor_type)(void*);
Но я действительно не понимаю синтаксис void / void. Как я могу обернуть это в моем методе C ++, чтобы принять функцию, такую как delete
или определения?