c++ - 除最后一行外,所有行都正常工作,表示没有运算符“+”与操作数匹配
问题描述
#include <iostream>
#include <vector>
#include <string>
std::string likes(const std::vector<std::string> &names)
{
if (names.size() == 0)
return "no one likes this";
else if (names.size() == 1)
return names[0] + " likes this";
else if (names.size() == 2)
return names[0] + " and " + names[1] + " like this";
else if (names.size() == 3)
return names[0] + ", " + names[1] + " and " + names[2] + " like this";
else if(names.size() > 3)
return names[0] + ", " + names[1] + " and " + (names.size()-2) + " others like this"; /*this line isn't working, i guess the problem is in names.size() */
最后一行导致我的应用程序无法运行,我已经尝试了所有可能的方法来解决这个问题,但没有任何帮助,你能帮忙吗?
解决方案
您不能将 str 与 int/float 连接起来
更正的代码:
#include <iostream>
#include <vector>
#include <string>
std::string likes(const std::vector<std::string> &names)
{
if (names.size() == 0)
return "no one likes this";
else if (names.size() == 1)
return names[0] + " likes this";
else if (names.size() == 2)
return names[0] + " and " + names[1] + " like this";
else if (names.size() == 3)
return names[0] + ", " + names[1] + " and " + names[2] + " like this";
else if(names.size() > 3)
return names[0] + ", " + names[1] + " and " + std::to_string(names.size()-2) + " others like this";
推荐阅读
- swift - 从 Bitbucket Xcode Project Navigator 克隆项目后不显示某些组及其文件
- python - 如何在ursina Python中为一个模型加载多个纹理
- python - 在 LGSVL 自动驾驶模拟器中集成检测算法
- python - 在paython中将列转换为行
- python - 如何使用python发送电子邮件?
- php - Debian php ffmpeg 错误“无法从模式中获取帧文件名 2”
- java - 如何从字符串 xml (android) 中获取多个字符串
- sql - 限制从 Select 查询中检索到的特定列上的字符
- elasticsearch - 在查询中覆盖 Elasticsearch 脚本参数 -( KIBANA)
- javascript - 选择文件但上传整个父文件夹