gpt4 book ai didi

C++ 错误——表达式必须具有整数或枚举类型——从具有连接的字符串中获取这个?

转载 作者:IT老高 更新时间:2023-10-28 22:28:09 27 4
gpt4 key购买 nike

C++ 错误表达式必须具有整数或枚举类型从具有连接的字符串中获取此值?

所以在 C++ 类的 toString() 中我有代码:

string bags = "Check in " + getBags() + " bags";

我以为我可以这样声明一个字符串? (我来自 Java 背景并尝试学习 C++)。 bags 在 Visual Studio 中有下划线,但问题是:

expression must have integral or enum type.

getBags() 只返回一个 int

发生这种情况的另一个例子是:

string totalPrice = "Grand Total: " + getTotalPrice();

getTotalPrice() 返回一个 float 并且是带有下划线的错误。

但是,如果我输入这样的一行:

string blah = getBags() + "blah";

没有错误。

这里有什么不明白的地方?

最佳答案

“ checkin ”其实是一个const char *。将 getBags()(一个 int)添加到它会产生另一个 const char*。编译器错误是因为不能添加两个指针。

您需要将 "Check in "getBags() 都转换为字符串,然后再连接它们:

string bags = std::string("Check in ") + std::to_string(getBags()) + " bags";

"bags" 将被隐式转换为 string

关于C++ 错误——表达式必须具有整数或枚举类型——从具有连接的字符串中获取这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22753328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com