C++一个程序问题

#include<iostream>usingnamespacestd;voidmain(){for(intn=1;n<=10;n++)cout<<string(n,''... #include<iostream>
using namespace std;
void main()
{ for(int n=1;n<=10;n++)
cout<<string(n,' ')+string(21-2*n,'M')+"\n";
}
程序如上,是书上的一个生成倒三角形的例子,为什么在VC6.0上编译,总是有错误?
E:\save_C_files\test.cpp(5) : error C2784: 'class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> __cdecl std::operator +(_D,const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &)' : could not deduce template argument for '' from 'class std::basic_strin
g<char,struct std::char_traits<char>,class std::allocator<char> >'
E:\save_C_files\test.cpp(5) : 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
Error executing cl.exe.
求大神指点下小弟
展开
 我来答
别跟我讲冷笑话
2013-09-24 · 超过17用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:51万
展开全部
亲、加一个头文件
#include <string>
string是在#include<string>这个头文件中的~~
yaoxin125
2013-09-24 · 超过22用户采纳过TA的回答
知道答主
回答量:109
采纳率:100%
帮助的人:57万
展开全部
不能重载静态的加号运算符,你可以再外相加,
#include<iostream>
#include<string>
using namespace std;
int main()
{ for(int n=1;n<=10;n++)
cout<<string(n,' ')+string(21-2*n,'M')+"\n";
return 0;
}
但是我测试没有问题,
我用的是c--Free 挺好用的,上面使用的vc6.0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BigDennis_Y
2013-09-24 · TA获得超过586个赞
知道答主
回答量:58
采纳率:0%
帮助的人:17.4万
展开全部
+运算符要重载。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式