不带参数的函数Vs函数带参数

时间:2015-08-03 17:55:50

标签: c function

我接受了here

的教育
void f();
void f(int a) {
    printf("%d", a);
}

参数类型列表"胜利"。 我做了以下......

int fun(void); //parameter type list
int fun(int a, double b)//parameter type list
{
    printf("%d, %f", a, b);
    return 0;
}

我原本期望编译器会抛出错误(因为c中不可能出现重载),但它并没有

在这方面,有谁可以帮助我?

感谢。

1 个答案:

答案 0 :(得分:0)

由于您使用的是Visual Studio,因此最可能的原因是您的代码位于C ++文件中。请注意,VS根据文件扩展名区分C和C ++文件。将文件更改为.c文件而不是.cpp文件应该可以解决问题。

(请注意,当您Add New Item创建源文件时,只需添加新的C ++文件,然后将创建的文件的名称更改为.c即可创建C文件,如在下图中。)

Add New Item Dialog