我检查了返回值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();
}
}
我的问题是:我在函数中做错了什么以至于它崩溃了?