我一直收到“未知类型名称'的地方',即使我写的枚举正确我也看不出错误我的错误。谢谢
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
void pass(place x);
typedef enum{
house, second
} place;
int main()
{
pass(house);
return 0;
}
void pass(place x){
if(x == house){
printf("We are in a house \n")
}else if(x == second){
printf("We live in the second house \n");
}
return;
}
答案 0 :(得分:3)
您的enum place
声明没问题。问题是你在知道place
的存在之前用地方定义了一个函数。在pass()
功能运行之前,先更改顺序并定义枚举位置。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
typedef enum{
house,
second
} place;
void pass(place x); // This function forward declaration must be after you defined place.
int main()
{ /* .. */ }