帝夋 发表于 2020-9-28 22:00:16

[课后作业] S1E2:第一个程序 | 课后测试题

我想请教一下,我在/FishC/sle2下同时创建了test.c(第一节课写的hello world)和test1.c(第一节课后作业),我想照着小甲鱼讲课的内容,输入命令
gcc test1.c -o test1
然后./test1
出现了这个
test1.c:16: error:conflicting types for ' countLines '

test1. c:12: note: previous declaration of . countLines' was
我该怎么样才能运行我的课后作业
谢谢大家

jackz007 发表于 2020-9-28 22:09:56

      除非贴出全部源代码,否则,没有人明白你的意思。

乐乐学编程 发表于 2020-9-28 23:53:05

原因一:
原来是因为没有先做函数声明,而函数位于main()之后。
在main函数前声明了函数原型后,一切ok.

原因二:
头文件的被循环引用,在引用时考虑清楚包含顺序

原因三:
头文件声明和定义参数稍有不同
例:
头文件中声明 void Hanlder(const char * buf);
在定义时写作 void Hanlder(char * buf);
这是就会发生conflicting types for 错误问题

召唤风云 发表于 2020-9-29 06:45:32

还有一种情况,你有一句代码少了个分号

happy含笑 发表于 2020-9-29 08:16:45

乐乐学编程 发表于 2020-10-1 13:52:10

问题还没解决吗?
页: [1]
查看完整版本: [课后作业] S1E2:第一个程序 | 课后测试题