错误C2447:&x27;{';:缺少函数头-';无法解决此错误,有什么问题? #包括 #包括 #包括 #包括 #包括“bcio2.h” 整数误差,x; 字符总脉冲[80],平均脉冲[80]; void validate_number(); 内部主(空) { clrsc(); 做{ printf(“\n总脉冲交付:”); 获取(总脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; } {//错误C2447 clrsc(); 做{ printf(“\n交付的平均脉冲:”); 获取(平均脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; }
括号看起来是匹配的,似乎没有任何不必要的分号。我假设这是显示输入/验证的正确方法。如果只使用TotalPulse的do…while();循环运行,它会很好,但是当我在另一对{}之间复制/粘贴完全相同的分号时我得到的只是C2447错误。现在,你只需要一块代码,在任何函数之外 我假设从代码的其余部分来看,这段代码应该是错误C2447:&x27;{';:缺少函数头-';无法解决此错误,有什么问题? #包括 #包括 #包括 #包括 #包括“bcio2.h” 整数误差,x; 字符总脉冲[80],平均脉冲[80]; void validate_number(); 内部主(空) { clrsc(); 做{ printf(“\n总脉冲交付:”); 获取(总脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; } {//错误C2447 clrsc(); 做{ printf(“\n交付的平均脉冲:”); 获取(平均脉冲); 验证_编号(); }while(错误!=0); printf(“您输入的%d是有效的\n”,x); getch(); 返回0; },c,function,validation,input,header,C,Function,Validation,Input,Header,括号看起来是匹配的,似乎没有任何不必要的分号。我假设这是显示输入/验证的正确方法。如果只使用TotalPulse的do…while();循环运行,它会很好,但是当我在另一对{}之间复制/粘贴完全相同的分号时我得到的只是C2447错误。现在,你只需要一块代码,在任何函数之外 我假设从代码的其余部分来看,这段代码应该是void validate_number();的定义,如下所示: #include <stdio.h> #include <stdlib.h> #include
void validate_number();
的定义,如下所示:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include "bcio2.h"
int error, x;
char totalimpulse[80], averageimpulse[80];
void validate_number();
int main(void)
{
clrscr();
do{
printf("\nTotal Impulse delivered: ");
gets(totalimpulse);
validate_number();
} while (error != 0);
printf("You entry %d was valid\n", x);
getch();
return 0;
}
{ //error C2447
clrscr();
do{
printf("\nAverage Impulse delivered: ");
gets(averageimpulse);
validate_number();
} while (error != 0);
printf("You entry %d was valid\n", x);
getch();
return 0;
}
请注意,
void
函数不能返回值,因此应删除返回0
。从错误开始的代码不在main
或任何其他函数中。如果删除错误行上的大括号及其前面的大括号,则第二个循环也将位于validate\u number
添加的内容只是承诺您将在某个地方定义该函数(虽然你的意思是底部的部分是validate_number
,但我很确定你不希望它是递归的)。该块在main.BTW之外:头文件conio.h不可移植(通常不存在于windows操作系统之外),建议删除相关的#include并使用标准系统函数。
void validate_number()
{
clrscr();
do{
// ...
return 0;
}