表达式必须具有整数或未整合的枚举类型

时间:2015-09-03 03:17:22

标签: c++ enums

所以我正在处理游戏的文件保存系统,我尝试制作一个简单的字符串,用于正确保存文件,但我一直收到此错误

string file = "ChunkData/" + x + "." + y + ".chunk";

我一直收到"."但我不明白原因的错误。我已经尝试将其更改为"."以外的其他内容:

string file = "ChunkData/" + x + "test" + y + ".chunk";

但那没有做任何事。我不明白为什么我一直收到这个错误。真正有趣的是,在错误部分的Visual Studio中,它声称' +'不能添加两个让我更困惑的指针,因为x和y都不是指针,它们是整数。

2 个答案:

答案 0 :(得分:0)

虽然您可以将std::string+连接起来,但是这里有3个char数组和2个整数,而且根本没有std::string。只有结果在添加所有内容后才会转换为字符串,这对+来说是迟到的。你只是将内存地址和整数加在一起,这没有任何意义。

做类似的事情:

string file = "ChunkData/" + tostring(x) + "." + tostring(y) + ".chunk";  

答案 1 :(得分:0)

尝试:

string file = str::string("ChunkData/") + std::to_string() +
              "." + std::to_string(y) + ".chunk";