gpt4 book ai didi

c - 在头文件中调用枚举时遇到错误

转载 作者:行者123 更新时间:2023-11-30 17:26:48 25 4
gpt4 key购买 nike

我在头文件中创建了以下函数(getHobby(Hobbies)),当我在头文件本身中调用此函数时,出现错误:

conflicting types for 'getHobby'     

爱好测试.h

enum Hobbies {
SKATING, SPORTS
};
char *getHobby(enum Hobbies hobbie) { <-- Compilation error "conflicing types for
'getHobby'
switch (hobbie) {
case SKATING:
return "SKATING";
case SPORTS:
return "SPORTS";
}
return "INVALIDOPTION";
}
void enumTest(){
printf("\nYour hobby is: %s",getHobby(SKATING));
}

而且,当我在某个方法中从主文件调用相同的函数时,相同的代码工作正常。

主.c

include <HobbiesTest.h>

int main(void) {
enumTest();
return 0;
}

void enumTest(){
printf("\nYour hobby is: %s",getHobby(SKATING));
}

为什么在使用头文件时会出现编译错误?

最佳答案

放置

enum Hobbies {
SKATING, SPORTING
};

位于头文件的开头。您在定义此枚举之前使用它。

关于c - 在头文件中调用枚举时遇到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26639717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com