//a.h
extern int x1;
static int x2;
int x3;
static const int x4;
class A {
public:
static const int x5 = 10;
};
a.h
const`将由多个.cpp
文件包括在内,我的问题是:`static`,`extern`,`在头文件
1. x1
只是一个声明,不是吗?所以它的定义应该在其中一个.cpp
文件中完成,对吧?
2. x2
是一个定义,对吧?我曾经认为static int
也是一个声明就像extern int
,但我错了。 x2
只会在a.h
中可见?
3. 将被定义多次,如果a.h
包括在多个.cpp
文件,因此会导致编译错误,对吧?
4. x4
是一个定义,对吧?
5.在A级,x5
是一个声明,是的。但是x4
呢?
你是什么意思的项目5的问题? – 2012-03-28 13:09:11
@DavidHeffernan,我的意思是为什么'x5'是一个声明,但是'x4'? – Alcott 2012-03-28 13:11:39