繁体   English   中英

表达式必须具有整数或无作用域的枚举类型

[英]Expression must have intergral or unscoped enum type

因此,我正在开发游戏的文件保存系统,并尝试制作一个简单的字符串,该字符串将生成以正确保存文件,但是我一直收到此错误

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

我不断收到"."所在的错误"." 我不明白为什么。 我尝试将其更改为除"."以外的名称"." 像这样:

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

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

虽然可以用+连接std::string ,但这里有3个char数组和2个整数,根本没有std::string 在将所有内容相加后,只有结果被转换为字符串,即+ 您只需将内存地址和整数加在一起,就没有任何意义。

做这样的事情:

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

尝试:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM