c++函数调用时奇怪的崩溃



我检查了GetCharacterRankINT()的返回,它返回正确的值(1)。当我用rankNum 1测试查询时,我得到了正确的结果,但每当我尝试使用GetCharacterRankSTR()时,它会崩溃以下崩溃转储:http://fbe.am/rwl(密码:stackoverflow)。我试图将函数的类型从string设置为std::string,但它仍然不起作用。MySQL表有8列,所以字段有8个条目。因此,错误与字段的数量无关。

string Player::GetCharacterRankSTR()
{
    QueryResult* res = CharacterDatabase.Query("SELECT * FROM ars_ranks WHERE rankNum = %u LIMIT 1;", GetCharacterRankINT());
    if (!res)
    {
        return "Error";
    }
    else
    {
        Field* fld = res->Fetch();
        return fld[3].GetString();
    }
}

我的问题是:我在函数中做错了什么,以至于它崩溃了?

经过一些测试,我找到了如何修复它…我只需要把string改成const char *

相关内容

  • 没有找到相关文章

最新更新