0

我检查了返回值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();
    }
}

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

4

1 回答 1

0

经过一些测试,我发现了如何解决它......我只需要从字符串更改为 const char *。

于 2014-03-14T14:44:00.273 回答