1. incomplete type
incomplete type是指被用来声明变量的类型,其大小无法确定,编译器因此无法为该变量分配空间。解决的方法是完成该类型的定义。举个例子:
class A; // incomplete type
A* a; // no error.
A b; // error. b的大小无法确定。
class A { int c; }
A d; // no error. 类型已完成,d的大小可以确定了。
****类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。
2. const用法
const int a = 1;
int b = a;
const int &c = a;