【问题标题】:Compiling C program using XCode使用 XCode 编译 C 程序
【发布时间】:2011-08-09 11:31:19
【问题描述】:

我正在尝试使用下面键入的 XCode 运行一个非常简单的 C 程序

1)   #include <stdio.h>
2)   int main ()
3)   {
4)     printf("Hello, World!\n");
5)     func();
6)     return 0;
7)   }
8)   void func()
9)   {
10)    printf("xxxx");
11)  }

在第 5 行,我收到警告“func 的隐式声明在 c99 中无效”,在第 8 行,我收到错误“func 的冲突类型”

请指教 谢谢,

【问题讨论】:

    标签: c xcode


    【解决方案1】:

    你需要在使用它之前声明func();(在main中),否则它被声明为一个返回int的函数,当编译器到达第8行时,它会看到同一个函数的不同声明返回void

    #include <stdio.h>
    void func(void);
    int main ()
    

    【讨论】:

      【解决方案2】:

      嗯,错误消息会告诉您究竟出了什么问题。使用的函数必须先声明,要么在同一个源代码单元中,要么在头文件中。

      如果func() 尚未声明,编译器会假定int 结果。

      第一个错误说你应该在使用之前声明func()

      void func(void);
      
      int main()
      {
          etc...    
      

      第二个错误告诉你func() 毕竟不会返回int。如果你先声明了func(),这两个错误都不会发生。

      【讨论】:

      • 好吧,在旧的,非常旧的 C 中,这不是必需的,IIRC。
      【解决方案3】:

      您在声明或定义之前调用了func(),这就是原因。

      在 main 之前添加 void func();

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-12
        • 1970-01-01
        • 2011-03-11
        • 2013-05-17
        • 1970-01-01
        • 2010-11-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多