Неявное Преобразование перестало работать после обновления MySQL Connector - PullRequest
1 голос
/ 03 июля 2019

Я недавно обновил 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, который допускает неявное преобразование, поэтому есть ли причина, по которой мой код не будетработа?

Заранее спасибо!

1 Ответ

1 голос
/ 03 июля 2019

Что ж, очевидно, MySQL сделал так, что неявное преобразование std :: string и bool теперь является явным преобразованием, поэтому это было источником моей проблемы.

...