因此,我正在为大学编程Intel 8253 PIT,但我认为上下文与该问题无关。因此,我正在尝试编译我的文件,并且不断收到“省略参数名称”错误,我真的不知道为什么。
所有内容都在连接到学院服务器的Minix VM中进行编译。我只是cd到该文件夹,然后键入“ Make”,命令是自动的。真的不知道细节。以下是更多信息:
功能:
int timer_test_read_config(uint8_t timer, enum timer_status_field field) {
uint8_t temp;
timer_display_conf(timer,temp,field);
return 1;
}
枚举声明:
enum timer_status_field {
all, /*!< configuration/status */
initial, /*!< timer initialization mode */
mode, /*!< timer counting mode */
base /*!< timer counting base */
};
错误消息:
lab.c:33:5: error: parameter name omitted
int timer_test_read_config(uint8_t timer, enum timer_status_field field) {
为什么会出现错误?我真的不明白。我可能真的很笨,但是是的,我需要一些帮助。谢谢!
答案 0 :(得分:1)
下面的旧答案,由于对该问题的编辑而无效。
现在,如果没有更详细的MCVE,它将无法回答,因为如果添加<!DOCTYPE HTML>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div class="col-xs-6">
<select class="form-control" name="select1" id="select1">
<option value="1">Fruit</option>
<option value="2">Animal</option>
<option value="3">Bird</option>
<option value="4">Car</option>
</select>
</div>
<div class="col-xs-6">
<select class="form-control" name="select2" id="select2">
<option value="1">Banana</option>
<option value="1">Apple</option>
<option value="1">Orange</option>
<option value="2">Wolf</option>
<option value="2">Fox</option>
<option value="2">Bear</option>
<option value="3">Eagle</option>
<option value="3">Hawk</option>
<option value="4">BWM
<option>
</select>
</div>
</body>
</html>
,则当前代码可以使用gcc进行编译。 (https://godbolt.org/z/VKZmU4)。
您在#include <stdint.h>
声明的末尾忘记了结尾的;
。
enum
这可以编译。自己将原始的枚举声明编译到文件中以获取更清晰的错误消息:
enum timer_status_field {
all, /*!< configuration/status */
initial, /*!< timer initialization mode */
mode, /*!< timer counting mode */
base /*!< timer counting base */
}; /// Note added ; on this line
在foo.c:6:1: error: expected identifier or ‘(’ at end of input
}
^
之后有其他内容,您的编译器试图将其解释为该类型的变量,因为}
是有效的声明。
有了此更改,您的整个代码就可以正常编译(使用enum { foo, bar } varname;
),当然只是警告未声明的函数。