作者写错了吗?
没错,但不精确.类声明可以是前向声明,例如:
class X;
Run Code Online (Sandbox Code Playgroud)
这只是让编译器知道该类的存在,但是没有指定该类具有哪些成员,哪些基类等等(这就是类定义的作用).
但是,声明也可以是一个定义,例如:
class X
{
// ...
};
Run Code Online (Sandbox Code Playgroud)
所以从某种意义上说,既然定义也是一个宣言,那句话就没有错.
在常识性假设下,判决是错误的,即声明是指一种不是定义的声明,但在处理这些术语时,最好记住它们的正式定义.