weixin_41084378
2017-11-16 15:51
采纳率: 0%
浏览 909

请教一个静态函数的问题

A.c文件中定义了函数fun1,A.h中声明了这个函数,在B.c文件中定义了同名static静态函数,并且B文件中include了A.h,此时编译B文件是报错还是正常?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • devmiao 2017-11-16 15:54

    报错,重复定义。要把b里面写extern

    评论
    解决 无用
    打赏 举报
  • _Martini_ 2017-11-16 16:03

    会报错,函数重名了,如果不改名的话,要使用命名空间

    评论
    解决 无用
    打赏 举报
  • Joneyao123 2017-11-16 16:06

    编译结果
    会报错!结果见附图,在main.c中定义了static int func1()函数,在normal.h中声明了int func1()函数,Ubuntu下编译的报错!

    评论
    解决 无用
    打赏 举报
  • 狗子猴子驴子 2017-11-17 01:44

    会报错的 它会认为函数重复 分不清是哪个 这时就需要在函数后边加后缀 来区分 或者改名

    评论
    解决 无用
    打赏 举报
  • dancki4008mary 2017-11-19 10:45

    肯定报错,函数名都重复了。需要改名

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题