C ++函数声明行的哪些部分位于定义的第一行?

时间:2012-06-03 01:21:41

标签: c++ function

我从来都不清楚确切的声明行(通常放在头文件中)有多少使它成为函数定义的第一行。如果在定义中重复编译,某些关键字会导致编译失败,有些则不会。

作为示例,请考虑从std::exception继承的异常类。 what()函数的重新定义通常类似于

virtual const char* what() const throw();

好的,好的。如果我在源文件中定义它,并且我完全复制了这一行

virtual const char* what() const throw() {}

编译失败并显示“虚拟外部类声明”之类的消息。我删除“虚拟”,它编译得很好。函数声明的哪些部分需要在其定义中重复的规则是什么?静态的?排队?是否有一个参考文件简明扼要地描述了哪些部分是必要的?

1 个答案:

答案 0 :(得分:3)

以下是对声明内容以及定义内容的非常好的解释: