0

所以,我有这个 c 模块,我在其中修改了两件事:向函数添加了一个参数,向结构添加了一个参数。

问题是,当使用 cc 编译时(来自我继承的脚本),无论我的更改在哪里,我都会收到错误消息(抱歉,如果翻译不准确):

错误:“function_that_I_added_the_argument”的参数太多
错误:结构“struct_I_added_the_element”没有名为“element_I_added”的成员

我已经检查了几次源文件(就像脚本调用的是旧版本一样),但一切似乎都很好。

现在我一无所知。任何想法?

编辑:为每个受欢迎的请愿添加了部分制作:让我们:

· 文件的路径。

· module1.c 我修改的函数所在的模块。

cc -c //文件夹/module1.c -Wall -DLINUX -I/ -I//otherFolder -I//include -o //文件夹/module1.o

我没有包含源代码,因为它和函数一样简单,结构声明可以是:short int value; (对于结构)和函数(参数...,短参数)对于函数。

4

1 回答 1

0

两年后,我记得自动回复我并将其标记为已解决,因此,从我自己的编辑中复制粘贴:

解决了:

终于找到问题了...

a) 项目声明了两个结构(struct petecander 和 struct structPetecander),编译器告诉我“struct structPetecander”没有 structPetecander 元素。当然它没有它,因为它是另一个名称相似的结构。

b) 我收到“function_that_I_added_the_argument 的参数太多”。用 Java 编程太多时间让我忘记了在 C 中你必须在 .h 中声明函数

两条错误消息(隐藏在其他错误下方)给了我提示。抱歉翻译不好:/module.c::error: conflict type for /headers.h:: error 之前的声明是在这里

我想是时候去一个角落哭一会儿了。

于 2016-08-08T08:37:20.443 回答