程序中定义了一个函数,定义成void无返回值,在主函数中调用该函数会报错,需要在主函数前声明该函数才能调用,但是如果将该函数设置为有返回值,则不需要提前声明就可以在主函数中调用,这是什么原因呢?
int main(void)
{
switch_test();
return 0;
}
int switch_test()
{
printf("test");
return 10;
}
这样可以调用,没问题
int main(void)
{
switch_test();
return 0;
}
void switch_test()
{
printf("test");
}
把返回值设置为void,提示"错误 C2371 “switch_test”: 重定义;不同的基类型 "
main之前肯定还有函数申明啊,那里的返回值类型也要改成void
已经提示了重定义,说明void switch_test()这个函数在其他地方被定义了。
另外建议在调用函数前,还是需要先声明该函数