Я недавно обновил MySQL Connector C ++ до v8.0.16, что привело к проблеме, возникающей во время компиляции моего проекта.
Все ошибки связаны с приведением «mysql :: abi2 :: r0 :: Value» к различным типам.Например, у меня есть этот код внутри одной из моих функций:
std::string s;
sql::Row res;
... Fetching from database ...
s = row[0]; // Here is the error
У меня ошибка:
нет подходящего пользовательского преобразования из "mysqlx ::abi2 :: r0 :: Value "to" std :: string "существует
Но если я использую приведение, оно работает:
s = (std::string)row[0]; // No error here
В предыдущей версии MySQL, Connector C ++У меня не было этой проблемы.
Я проверил, и класс mysqlx :: abi2 :: r0 :: Value коннектора MySQL действительно реализует оператор std :: string, который допускает неявное преобразование, поэтому есть ли причина, по которой мой код не будетработа?
Заранее спасибо!