1

是否有一种机制可以检查标头是否正确遵循实现?

例子

//my_pi.cpp
float my_pi(){
    return 3.14;
}


//my_pi.h
int my_pi();


//main.cpp
#include <iostream>
#include "my_pi.h"

int main()
{
    float returned;
    returned = my_pi();
    cout << returned;
}

这编译没有错误,但是它给出了错误的结果。我刚刚开始学习 C++,这看起来是一种非常简单的方法来制作当 OOP 概念发挥作用时难以追踪的错误(具有大型原型的类)。

还是有什么我遗漏的东西,能够定义不同的标题是一件好事,而且只需要小心吗?

4

1 回答 1

5

始终在实现它的源文件中包含头文件。这并没有捕捉到所有错误,但大部分都是。例如,它不会检测到函数参数中的错误(因为您可以使用多个具有相同名称但仅参数不同的函数),但在这种情况下,无论如何您都会收到链接器错误。

于 2013-10-10T06:54:05.520 回答