【发布时间】:2016-06-28 07:42:03
【问题描述】:
在 Ubuntu 16.04 下运行时出现以下错误。
抛出 'std::length_error' 的实例后调用 C++ 终止,what(): basic_string::_M_create
当我在 Ubuntu 15.04 下运行时,代码运行良好。
gdb 跟踪我已将其隔离为以下代码: http://imgur.com/ibvFx4B
连接周围的某个地方会产生错误。
#define DBHOST "tcp://127.0.0.1:3306"
#define USER "root"
#define PASSWORD " "
#define DATABASE "db_mmofps"
void CDBMySQL::Connect()
{
m_driver = mysql::get_mysql_driver_instance();
m_con = m_driver->connect(DBHOST, USER, PASSWORD);
m_con->setSchema(DATABASE);
}
任何想法为什么它会抛出错误?这很简单,我确信我忽略了。
【问题讨论】:
-
您是否尝试设置除空格以外的密码?
-
密码应该为空,我将 mysql 设置为 root,密码为空。当我在没有空格的情况下将其设为“”时,这是同样的错误。谢谢。
-
我建议将其转换为 1234,例如,以确保错误不是来自格式错误的密码
-
尝试使用通用密码重新安装,但仍然出现 length_error 错误。
标签: c++ string mysql-connect