Error: No previous prototype for function为什么我得到这个错误?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (42)

// screen.h

#ifndef screen_h
#define screen_h

#define MAC  1
#define WIN  2
#define LNX  3

#ifdef PLATFORM 
# undef PLATFORM 
#endif

#define PLATFORM MAC

void screen_init();

#endif

// screen.c

#include <string.h>
#include <stdlib.h>

#include "screen.h"

#if PLATFORM == MAC

#include <curses.h> 

void screen_init(){
    erase();
}

#endif

我不明白为什么在screen.h中看不到我的原型

提问于
用户回答回答于

ISO / IEC 9899:TC2 - 6.2.1.2: 函数原型是声明其参数类型的函数声明。

函数声明中的空参数列表指示参数的数量和类型未知。必须通过使用void关键字明确指出函数不带任何参数。否则你的函数声明不算作一个有效的原型。

void screen_init(void);
用户回答回答于

在头文件中添加了relatived函数声明看一下

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答
  • 我是预言家

    0 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券