我正在将脚本移植到 C++ 中,但遇到了一些大问题。
我定义了一个带有值的浮点数组(这是一个非常短的数组,我的真实数组是 100k 个元素),如下所示:
float gRandomPlayerSpawns[4][3] = {
{2194.7808,1024.5272,79.5547},
{2099.8562,1158.2679,11.6484},
{1953.1841,1342.9954,15.3746},
{2000.6274,1519.7140,17.0625}
};
现在,当我执行以下代码时:
void SetPlayerRandomSpawn(int playerid)
{
int rnd = rand() % (sizeof(gRandomPlayerSpawns));
ServerLog::Print(playerid,-1,Functions::string_format(
"Setting position to: %f %f %f",
gRandomPlayerSpawns[rnd][0], gRandomPlayerSpawns[rnd][1], gRandomPlayerSpawns[rnd][2]).c_str());
SetPlayerPos(playerid, gRandomPlayerSpawns[rnd][0], gRandomPlayerSpawns[rnd][1], gRandomPlayerSpawns[rnd][2]); // Warp the player
SetPlayerFacingAngle(playerid, 45.0);
}
我从来没有得到数组中的任何值..总是奇怪的值,或 0,0,0,或类似的东西:
Setting position to: 283969270356831250000000000000.000000 18523600588218255000000000000.000000 72697250258806125000000000000000.000000
或 #INF:00000 / infinity 等。
我还使用了我在上面发布的数组并添加f
到每个数字的末尾,但它没有帮助,我仍然得到未定义(?)的行为,我做错了什么?