流水灯 测试.C(67): error C174: return-expression on void-function
时间: 2024-09-13 22:13:07 浏览: 50
流水灯(通常是指LED七段数码管或RGB灯带等)是一种常见的电子项目,用于显示数字或其他图案,通过逐位切换灯的状态来模拟流动的效果。在编写控制流水灯的C语言程序时,遇到错误信息"C(67): error C174: return-expression on void-function",这是因为在C语言中,当你试图在一个声明为void(即无返回值)的函数中使用return语句返回一个表达式,这是不允许的。
`void function`表示这个函数不返回任何值,它的作用主要是改变外部状态或者执行一些操作而不需要返回结果。例如,在处理硬件IO,如设置LED状态这类操作时,通常会使用void函数,因为这些操作并不涉及返回数据。
正确的做法是在这样的函数中仅包含修改状态的代码,而不应该有return语句返回值。如果你确实想在循环里中断函数,可以考虑在循环条件或控制结构中添加break或类似机制。
```c
void setLed(int ledState) {
// LED操作...
}
void blinkSequentially() {
while (true) {
setLed(0); // 设置第一个LED亮起
// 其他LED的设置...
delay(); // 等待一段时间再继续下一个LED
}
}
```
相关问题
..\..\Output\流水灯.axf: Error: L6218E: Undefined symbol Delay (referred from main.o).错误是什么怎么改
这个错误提示 "L6218E: Undefined symbol Delay (referred from main.o)" 表示在编译器生成的main.o目标文件中,找不到名为 "Delay" 的符号定义。通常,"Delay" 可能是一个定时延时的函数或者宏,在您的代码中应该是存在的。
解决这个问题有以下步骤:
1. **检查是否有函数声明**:确保您在某个地方声明了 "Delay" 函数,例如:
```c
void Delay(unsigned long time);
```
或者类似的形式。
2. **确认实现**:如果已经声明了,确认该函数是否在其他源文件中实现了。如果没有实现在main.c或相关的源文件中,你需要将函数定义移动到适当的地方。
3. **包含头文件**:如果 "Delay" 是在一个库或者模块中定义的,确保你在需要用到的地方包含了正确的头文件。
4. **链接问题**:有时可能是因为链接阶段未链接到包含 "Delay" 实现的目标文件。检查Makefile或构建配置,确保包含所有必要的依赖项。
5. **拼写和大小写**:确保函数名的拼写和大小写与引用处一致。
如果以上都确认无误,但仍然报错,可能是编译器选项设置问题,比如 -O2 或 -Os 等优化级别可能会删除未使用的函数,这时你可以尝试降低优化等级。
jenkins扫描多分支流水线宝座FATAL: Failed to recompute children of test-multi hudson.plugins.git.GitException: Command "git ls-remote --symref -- ssh://git@10.32.1.138:9922/hj/test-multi.git" returned status code 128: stdout: stderr: Host key verification failed. fatal: Could not read from remote repository.
这个错误一般是由于没有设置正确的 SSH 密钥或者是没有添加正确的 Host Key 导致的。你可以尝试以下步骤来解决这个问题:
1. 确认是否正确配置了 SSH 密钥,可以通过在终端中执行 `ssh -T git@10.32.1.138 -p 9922` 来测试是否可以连接到 Git 服务器。
2. 如果 SSH 密钥正确配置,那么可能是 Host Key 没有正确添加。你可以通过在终端中执行以下命令来添加 Host Key:
```
ssh-keyscan -p 9922 10.32.1.138 >> ~/.ssh/known_hosts
```
注意:这个命令会将 Host Key 添加到当前用户的 `~/.ssh/known_hosts` 文件中,如果你使用的是其他用户,需要将 `~/.ssh/known_hosts` 替换成相应用户的文件路径。
3. 如果以上步骤都无法解决问题,可能是 Git 服务器端的配置问题,需要联系 Git 服务器管理员进行排查。