c-函数定义中的参数无效,但声明中的基元数据类型无效



我有一个带有以下代码的查询。下面的代码是如何按照K&R c?没有编译错误,代码运行良好。我在代码块中的构建选项中使用了-传统。四处搜寻了一会儿,但没有得到满意的答复。

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

下面的代码是如何按照K&R C?

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

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

最新更新