C++ 形式参数1的类型为不完整错误
我正试图写一个程序来打印学生的信息 但是代码::Blocks说: 错误:形式参数1的类型不完整。 错误:“displayStudentInformation”的类型冲突 这就是代码C++ 形式参数1的类型为不完整错误,c++,c,struct,scope,C++,C,Struct,Scope,我正试图写一个程序来打印学生的信息 但是代码::Blocks说: 错误:形式参数1的类型不完整。 错误:“displayStudentInformation”的类型冲突 这就是代码 #include <stdio.h> void displayStudentInformation(struct student stu); struct student{ int id; char *firstName; char *lastName; float gpa; };
#include <stdio.h>
void displayStudentInformation(struct student stu);
struct student{
int id;
char *firstName;
char *lastName;
float gpa;
};
int main()
{
struct student stu1;
stu1.id = 101;
stu1.firstName = "Ali";
stu1.lastName = "Alavi";
stu1.gpa = 18;
displayStudentInformation(stu1);
return 0;
}
void displayStudentInformation(struct student stu)
{
printf("Student information :\n");
printf("ID : %d",stu.id);
printf("First Name : %s",stu.firstName);
printf("Last Name :%s",stu.lastName);
printf("GPA : %.2f",stu.gpa);
printf("\n");
}
#包括
无效显示学生信息(结构学生stu);
结构学生{
int-id;
char*名字;
char*lastName;
浮动gpa;
};
int main()
{
结构学生stu1;
stu1.id=101;
stu1.firstName=“Ali”;
stu1.lastName=“Alavi”;
stu1.gpa=18;
显示学生信息(stu1);
返回0;
}
无效显示学生信息(结构学生stu)
{
printf(“学生信息:\n”);
printf(“ID:%d”,stu.ID);
printf(“名字:%s”,stu.firstName);
printf(“姓氏:%s”,stu.lastName);
printf(“GPA:%.2f”,标准GPA);
printf(“\n”);
}
在函数原型之前定义结构:
struct student {
int id;
char *firstName;
char *lastName;
float gpa;
};
void displayStudentInformation(struct student stu);
现在已经知道了结构,可以在函数原型中使用
请注意,您可以typedef
struct student,以避免每次要声明student
类型的变量时都必须写入struct student
:
typedef struct student {
int id;
char *firstName;
char *lastName;
float gpa;
} student;
void displayStudentInformation(student stu);
<> P>因为你的问题也被“C++”标记为某种原因(?)我必须在这里提到C++中,你不需要<代码> TyPulf< /Cuff>它。即使没有typedef
,也可以使用student
而不是struct student
如果您要使用C++而不是C,那么我也应该提到,建议使用<代码> STD::String < /C> >而不是使用<代码> char */COD>字符串。请注意,C++与C语言是一种非常不同的语言。如果当前的目标或任务是学习C,那么不要只使用C++编译器编译C代码。请使用C编译器。如果使用C++编译器,则可以(可能会)使用有效的C++代码,但不有效的C.< /P>交换声明:<代码>结构> <代码>和代码>显示学生信息< /代码>,在代码< > DePaseSubjor(声明)之前声明<代码>结构学生< /代码>。@阿明AtAee只是编译程序作为C++程序。VladfromMoscow:C和C++语法之间没有根本区别,但我不喜欢C++ C++。但是,AjaTaaEE程序仍然会编译成C++程序。