首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

字符串流对象的一个小程序报错,该如何处理

2012-10-05 
字符串流对象的一个小程序报错代码如下所示:C/C++ code#includestrstream#includeiostreamusing names

字符串流对象的一个小程序报错
代码如下所示:

C/C++ code
#include<strstream>#include<iostream>using namespace std;struct student{int num;char name[20];float score;}int main(){student stud[3]={1001,"li",78,1002,"wang",89.5,1004,"fun",90};char c[50];ostrstream strout(c,30);for(int i=0;i<3;i++)strout<<stud[i].num<<stud[i].name<<stud[i].score;strout<<ends;cout<<"array c:"<<c<<endl;}

编译时报错如下:
error C2628: “student”后面接“int”是非法的(是否忘记了“;”?)
error C3874: “main”的返回类型应为“int”而非“student”
这个错误很少见,它怎么就要求返回值应该是student 类型呢?按它说的修改就更不对了。大家看看是什么地方错了,谢谢。

[解决办法]
C/C++ code
#include<strstream>#include<iostream>using namespace std;struct student{int num;char name[20];float score;}//1;int main(){//2student stud[3]={{1001,"li",78},{1002,"wang",89.5},{1004,"fun",90}};char c[50];ostrstream strout(c,30);for(int i=0;i<3;i++)strout<<stud[i].num<<stud[i].name<<stud[i].score;strout<<ends;cout<<"array c:"<<c<<endl;//3return 0;}
[解决办法]
struct student
{int num;
char name[20];
float score;
} //这里掉了分号!!!注意怎么定义结构体的。。。

还有main函数 你没返回值。。。加一句 return 0;
student stud[3]={1001,"li",78,1002,"wang",89.5,1004,"fun",90};
char c[50];
ostrstream strout(c,30);
for(int i=0;i<3;i++)
strout<<stud[i].num<<stud[i].name<<stud[i].score;
strout<<ends;
cout<<"array c:"<<c<<endl;
return 0;

热点排行