【发布时间】:2023-03-05 06:45:01
【问题描述】:
我正在尝试编写这个相对简单的代码,我希望能够在其中更改 set_current 的值。 错误消息:“参数类型 'void' 不完整”不断出现,我不知道为什么。
我不是经验丰富的编码员,但我必须解决这个问题才能工作。我真的希望你能帮助我。
void setCurrent(float set_current);
int main () {
printf("%i", setCurrent(0));
printf("/n/r");
}
void setCurrent(float set_current){
float v_set_cur = 1.25 + (ILIM_K_USE*set_current);
“参数类型'void'不完整”出现在 printf 行。当我删除 0 时,它可以工作,但我希望能够更改该数字。 我在这里错过了什么?
【问题讨论】:
-
setCurrent返回类型void。您将其作为参数传递给printf。 -
另外,只标记使用的语言。 C 还是 C++?
-
“删除 0”我假设您的意思是
printf("%i", setCurrent);。如果编译时没有警告,我建议您尝试在编译器中调高警告级别。对于 gcc 和 clang,-Wall -Wextra很好,对于 MSVC/W4或/W3。因为您正在使用"%i"打印指针,这通常不是您想要做的。 -
Handy reading 关于
void的性质
标签: c++ c void incomplete-type