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

Подробнее здесь: https://stackoverflow.com/questions/792 ... getint64-t

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