Soci/sqlite выдает bad_cast в любой строке.getC++

Программы на C++. Форум разработчиков
Anonymous
Soci/sqlite выдает bad_cast в любой строке.get

Сообщение Anonymous »

У меня есть установленная программа на C++, использующая SOCI/SQlite. Мне нужно написать преобразование типов, которое будет извлекать большие целые числа в 64-битные члены класса int. AFAIK Мне нужно использовать row.get(myvar) или что-то в этом роде.
В Windows этот явный шаблонный метод get выдает ошибку станд::bad_cast. В Linux он, похоже, переполняет int32 и возвращает значение -1. Если я изменю свои столбцы на BIGINT, все волшебным образом сработает, но я бы предпочел этого не делать — все мои значения меньше 64 бит.
Советы приветствуются!
MCVE:

Код: Выделить всё

#include 
#include 
#include 

int main() {
try {
// Create an in-memory SQLite database session
soci::session sql(soci::sqlite3, ":memory:");
sql 

Подробнее здесь: [url]https://stackoverflow.com/questions/79266782/soci-sqlite-throwing-bad-cast-on-any-row-getint64-t[/url]

Вернуться в «C++»