函数定义中的Void参数,但声明中的原始数据类型

时间:2016-04-16 16:17:10

标签: c void kr-c

我的查询包含以下代码。以下代码如何根据K& R c进行解释?没有编译错误,代码运行得很好。我在codeblocks的构建选项中使用了 -traditional 。搜索了一会儿,但无法得到满意的答案。

void func(int);

int main(void) {
    func(10);
    return 0;
}

void func(void){
}

1 个答案:

答案 0 :(得分:3)

  

以下代码如何根据K& R C进行解释?

作为语法错误的代码。 K& R C既不知道原型也不知道void关键字(两者都是用C89引入的),所以这是一个语法错误。

从C89开始,冲突的声明是必须诊断的约束违规(错误的花哨字)。