3.1 声明(Declaration)与定义(Definition)
声明即定义,除了如下情况:
1)声明函数,没有定义函数体
2)声明包含extern或者linkage-specification(eg:extern "C"),而没有初始化与函数体
3)声明类的静态数据成员
4)声明类名
5)声明opaque-enum-declaration,还没看到,下回分解
6)模板参数
7)函数声明里的参数声明
8)typedef 声明
9)using 声明
struct B {
void f(char);
void g(char);
enum E { e };
union { int x; };
};
struct D : B {
using B::f;
void f(int) { f(’c’); } // calls B::f(char)
void g(int) { g(’c’); } // recursively calls D::g(int)
};
10)静态断言声明static_assert
11)属性声明,空声明,using指令