對error C2079: 'stu' uses undefined struct 'Students'的解釋
阿新 • • 發佈:2018-12-22
以下是錯誤程式原始碼舉例(其實是我自己在學習過程中出現的錯誤):
#include <stdio.h>
struct Date
{
int year;
int month;
};
struct Student
{
char sno[11];
char name[10];
int Gshu;
int Ccheng;
int Yyu;
float Average;
Date birthday;
};
int main()
{
struct Students stu;
printf("輸入學號:");
gets(stu.sno);
printf("輸入姓名:" );
gets(stu.name);
printf("高數成績:");
scanf("%d",&stu.Gshu);
printf("C程成績:");
scanf("%d",&stu.Ccheng);
printf("英語成績:");
scanf("%d",&stu.Yyu);
stu.Average=(stu.Gshu+stu.Ccheng+stu.Yyu)/3.0;
printf("輸入出生年月");
scanf("%d%d",&stu.birthday.year,&stu.birthday.month);
printf("學號 姓名 高數 C程 英語 平均成績 出生年月\n" );
printf(" %11s",stu.sno);
printf(" %6s",stu.name);
printf(" %3d %3d %3d %4.1f",stu.Gshu,stu.Ccheng,stu.Yyu);
printf(" %d年%d月\n",stu.birthday.year,stu.birthday.month);
return 0;
}
執行錯誤如下:
這個地方的錯誤是將上文中的Student誤寫為Students,於是出現了未定義的錯誤,改正方式只要將Students改為Student就可以解決。但是如果不是因為筆誤,而是正確的寫出了Student,但是仍然為錯誤的話,解決方法是檢查上文中有沒有對Student進行定義(struct),通過對Student定義即在前文(主函式外)新增:struct Student