【发布时间】:2013-10-09 13:13:40
【问题描述】:
我正在尝试按如下方式连接字符串和整数:
#include "Truck.h"
#include <string>
#include <iostream>
using namespace std;
Truck::Truck (string n, string m, int y)
{
name = n;
model = m;
year = y;
miles = 0;
}
string Truck :: toString()
{
string truckString = "Manufacturer's Name: " + name + ", Model Name: " + model + ", Model Year: " + year ", Miles: " + miles;
return truckString;
}
我收到此错误:
error: invalid operands to binary expression ('basic_string<char, std::char_traits<char>, std::allocator<char> >'
and 'int')
string truckString = "Manufacturer's Name: " + name + ", Model Name: " + model + ", Model Year: " + year ", Miles...
任何想法我可能做错了什么?我是 C++ 新手。
【问题讨论】:
-
使用
std::to_string或 sting 流。 -
@chris,我试过我得到这个错误:错误:命名空间'std'中没有名为'to_string'的成员
-
我今天早些时候遇到了这个问题,发现根据您的编译器设置,您可能由于某种原因无法访问
to_string。看看 stringstreams 从int到string的转换:cplusplus.com/articles/D9j2Nwbp -
@user1471980,它是 C++11 和
<string>。旧版本的 GCC 也可能存在问题。 -
您不(或不应该)连接字符串和整数。您可以将字符串与其他字符串连接起来,其中一些字符串可能是整数的字符表示,但它们不是整数。许多语言(包括 Java 和 C++)通过在使用某些运算符时将整数隐式转换为其字符串表示来帮助您。
标签: c++ string type-conversion