【发布时间】:2018-04-20 09:22:34
【问题描述】:
我正在尝试编写一个打印学生信息的程序 但是 Code::Blocks 说:
错误:形式参数 1 的类型不完整。 错误:“displayStudentInformation”的类型冲突 这是代码。
#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");
}
【问题讨论】:
-
交换
struct和displayStudentInformation的声明 -
意思是将
struct student的声明放在displayStudentInformation()函数的声明之前。 -
@Amin Ataee 只需将程序编译为 C++ 程序即可。;)
-
@VladfromMoscow 这不是 C 和 C++ 语法之间的根本区别,但我不喜欢 C++。
-
@AminAtaee 不过该程序将编译为 C++ 程序。:)