雪傲天1 2023-04-03 14:26 采纳率: 96.2%
浏览 17
已结题

为什么我这段代码会出错呀

为什么我这段代码会出错呀


#include<iostream>
#include <string>
using std::string;

int main()
{
    std::string str;
    std::cin >> str;
    std::string temp = "用户的年龄是";
    std::cout << (temp + std::to_string(str));

    system("pause");
    return 0;
    
}

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2665 “std::to_string”: 9 个重载中没有一个可以转换所有参数类型

  • 写回答

3条回答 默认 最新

  • OOoOOxty 2023-04-03 15:04
    关注

    上述代码的意图是输入一个字符串,然后将该字符串添加到"用户的年龄是"前面并输出。但是代码中使用了std::to_string()函数将std::string类型的字符串str转换为std::string类型,这是不正确的。

    如果你想要将字符串拼接在一起并输出,可以使用"+"运算符连接两个字符串。修改后的代码如下:

    #include <iostream>
    #include <string>
    
    int main()
    {
        std::string str;
        std::cin >> str;
        std::string temp = "用户的年龄是 ";
        std::cout << (temp + str); // 使用"+"运算符连接两个字符串
        system("pause");
        return 0;
    }
    

    另外,如果你需要在终端窗口暂停程序执行,可以使用std::cin.get()函数替代system("pause")。修改后的代码如下:

    #include <iostream>
    #include <string>
    
    int main()
    {
        std::string str;
        std::cin >> str;
        std::string temp = "用户的年龄是 ";
        std::cout << (temp + str); // 使用"+"运算符连接两个字符串
        std::cin.get(); // 等待用户按回车键继续执行
        return 0;
    }
    

    这样可以使代码更加简洁且跨平台性更好。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算