DbCon::DbCon():m_mysql(NULL), m_res(NULL), m_isQuery(false)
{
MYSQL * sql = mysql_init(m_mysql); -----1
if(sql == NULL)
{
cout << "初始化失败\n";
}
}
m_mysql为MYSQL *型,在句1处,返回的sql不为空。但是m_mysql结构体中的内容却都是CXX0030:错误:无法计算表达式的值。麻烦各位高手帮忙解释这是怎么回事了

解决方案 »

  1.   

    这只是init,还得调用real_connect之后,再看看结构体中的内容吧
      

  2.   

    还是俺自己回答吧,因为m_mysql初始化为空了
      

  3.   

    我也犯了同样的错误...
    定义了MYSQL * p_mysql = NULL;
    调用 mysql_init(p_mysql)后 检测 if(NULL == p_mysql)
    当然是每次都进入失败分支了呵正确的方法有两种:
    1. 定义MYSQL对象 mysql_obj 然后调用mysql_init(&mysql_obj)2. 定义指针,但要赋值为mysql_init(NULL)的返回值