可以视觉C 检查不匹配的原型和实现

Can Visual C++ check for mismatched prototype and implementation?

本文关键字:原型 实现 不匹配 检查 视觉      更新时间:2023-10-16

VC编译器是否找不到原型的实现?

示例(注意不匹配参数):

// calcSomething.h
int calcSomething(
    int    year,
    int    month,
    int    day,
    int    hour,
    int    minute,
    int    second
);

// calcSomething.cpp
int calcSomething(
    int    year,
    int    month,
    int    day
) 
{
  // ... implementation
}

更新:显然G 具有一个称为-Wmissing-declarations的开关,我认为这可能是我需要的线,但显然对于VC 。

似乎答案是否。MSVC编译器没有等效于G 的选项。

按类别命令行选项。

根据C 语言规则,这两个函数是完全不同的函数。

编译器应以相同的方式进行反应,就像第一个功能的名称是calcSomething,第二个功能的名称是calcSomeOtherThing

尤其是,您在标题中声明的功能将不确定,因为它没有实现。任何调用它的代码都不会编译和链接。不可能制作一个可执行的,该可执行文件调用一个从未定义的函数。编译器在调用功能时不知道该怎么办。