我有以下代码:
#include <iostream>
using namespace std;
struct stud{
int roll;
char name[10];
double marks;
}
struct stud stud1={1,"ABC",99.9};
struct stud stud2={2,"xyz",80.0};
int main(){
cout<<stud1.marks<<"\n"<<endl;
cout<<stud1.name<<"\n";
cout<<stud1.roll<<"\n";
return 0;
}
但有错误:
1>------ Build started: Project: array_structures1, Configuration: Debug Win32 ------
1>Build started 8/1/2010 9:26:47 PM.
1>InitializeBuildStatus:
1> Touching "Debug\array_structures1.unsuccessfulbuild".
1>ClCompile:
1> array_structures.cpp
1>c:\users\david\documents\visual studio 2010\projects\array_structures1\array_structures1\array_structures.cpp(9): error C2236: unexpected 'struct' 'stud'. Did you forget a ';'?
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.84
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
请帮忙。我该如何解决这些错误?
答案 0 :(得分:10)
请阅读错误消息:
错误C2236:意外的“struct”'stud'。你忘记了';'吗?
您在struct stud
声明的末尾缺少分号。
答案 1 :(得分:3)
我不懂C ++,但也许:
#include <iostream>
using namespace std;
struct stud{
int roll;
char name[10];
double marks;
}; // notice the semicolon
struct stud stud1={1,"ABC",99.9};
struct stud stud2={2,"xyz",80.0};
int main(){
cout<<stud1.marks<<"\n"<<endl;
cout<<stud1.name<<"\n";
cout<<stud1.roll<<"\n";
return 0;
}
答案 2 :(得分:1)
“你忘记了';'?”说的一切;
声明结构后,必须输入“;”。 你也可以这样做:
struct struct_name {
struct_variables; } new_str;
这将创建结构并创建该结构类型的新变量。
所以,你可以很容易地做到这一点:
struct stud{
int roll;
char name[10];
double marks;
} stud1={1,"ABC",99.9}, stud2={2,"xyz",80.0};
而且,在创建结构之后,要声明该结构类型的变量,您只需要编写
<小时/> “stud stud1”代替“struct stud stud1”
答案 3 :(得分:0)
您的代码在g ++下完美编译。
但你可以试试这个:
struct stud {
int roll;
char name[10];
double marks;
};