Bruce_N 2022-11-11 20:58 采纳率: 57.1%
浏览 19

C语言函数声明的问题

  程序中定义了一个函数,定义成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”: 重定义;不同的基类型 "

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-11-11 21:16
    关注

    main之前肯定还有函数申明啊,那里的返回值类型也要改成void

    评论

报告相同问题?

问题事件

  • 创建了问题 11月11日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭