c++ - 更新 MySQL 连接器后隐式转换停止工作

标签 c++ mysql casting connector

我最近将我的 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 

我遇到的错误是:

no suitable user-defined conversion from "mysqlx::abi2::r0::Value" to "std::string" exists

但如果我使用强制转换,它会起作用:

s = (std::string)row[0]; // No error here 

在以前版本的 MySQL Connector C++ 中我没有遇到这个问题。

我已经检查过,MySQL Connector 的 mysqlx::abi2::r0::Value 类确实实现了允许隐式转换的运算符 std::string,所以我的代码是否有任何原因无法工作?

提前致谢!

最佳答案

显然,MySQL 已经将 std::string 和 bool 隐式转换现在显式转换,所以这就是我的问题的根源。

关于c++ - 更新 MySQL 连接器后隐式转换停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877015/

相关文章:

c++ - C++指针的地址

java - 如何用Solr管理 "paging"?

java - 转换代理 - 获取 ClassCastException

Java 对象转换可能性的方法

C# 将字符串显式转换为枚举

c++ - 从同一文件中定义的类访问外部函数

c++ - 编译器不定义隐式的条件(构造函数、析构函数、复制构造函数、复制赋值)

c++ - std::ofstrean 不适用于 -O3

mysql - 即使其中一个表为空,SELECT 也返回行

mysql - SQL:如何选择一对表对象,每个对象的重复次数有限?