#include<iostream> #include<fstream> #include<string> using namespace std; void main() { ofstream f

#include<iostream>#include<fstream>#include<string>usingnamespacestd;voidmain(){ofstr... #include<iostream>
#include<fstream>
#include<string>
using namespace std;
void main()
{
ofstream fout;
fout.open("1.txt");
ifstream fin("1.txt");
string a,b="12";
cin>>a;
fout<<a;
fout.close();
fin>>a;
cout<<a-b;
}
:\users\wentian\desktop\新建文件夹\0.cpp(15) : error C2784: '_D __cdecl std::operator -(const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &,const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &)' : could not deduce template argument for 'cons
t class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &' from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\users\wentian\desktop\新建文件夹\0.cpp(15) : error C2676: binary '-' : 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' does not define this operator or a conversion to a type acceptable to the predefined
operator
执行 cl.exe 时出错.

0.obj - 1 error(s), 0 warning(s)
请教高手!
展开
 我来答
L_o_o_n_i_e
2010-12-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5252万
展开全部
cout<<a-b; a和b是 string class(类),没有 减运算 "-"。所以语法错。
string class 有 "+" 运算, 但不是做数学加法,而是把两个字符串连起来。
改成 cout<< (a+b); 就可以了。

string class(类),有比较运算,==, > , <, != 等。

有时,用 char 数组,比用 string class 方便。看你 a-b 到底 是要做什么运算。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式