C - 错误冲突类型。定义了函数原型

时间:2016-07-17 21:01:07

标签: c function

我正处于创建C编译器的开始阶段。我只是想做一些简单的错误处理。

有人可以解释为什么我仍然得到:

"' abort'的冲突类型"

即使我已经为abort()定义了函数原型并且签名匹配了吗?

#include <stdio.h>
#include <string.h>

#include "Concat.c"

/* Constant declarations */
const char TAB = '\t';

/* Variable Declarations */
char look;  /* Lookahead character */


/* Declaring function prototypes */
void getChar();
void error(char*);
void abort(char*);



/* Read new character fron input stream */
void getChar(){
    read(look);
}

/* Report an error */
void error(char* s) {
    // printf("%s\n", s);
    perror(s); 
}


/* Report an error and halt (return in C)  */
void abort(char *s) {
    perror(s);
    return;
}



/* Main Program */ 
int main(int argc, char *argv[]) {

    /* tab test */
    printf("%c\n", TAB);

    /* error test */
    char *p;
    p = "Error Test";
    error(p);

    /* abort test */
    p = "Abort Test";
    abort(p);
}

1 个答案:

答案 0 :(得分:3)

the C Standard

  

7.22.4.1 #include <stdlib.h> _Noreturn void abort(void); 函数

     

概要

{{1}}
     

。 。