C++ 的编译问题
有2个头文件, 如下
------------------
CC.h
class CC
{
public:
CC(const int i) {};
};
------------------
BB.h
#include "cc.h"
class BB
{
private:
CC cc(10); //这行编译出错, 为什么会出错?
};
CC cc(10); //这行代码, 为什么会编译出错?
我第一直觉也是觉得是编译出错的, 但不晓得为什么了? 高手指点一下啊?
CC cc(10); 难道不算是一个申明吗? C++
[解决办法]
CC cc; 才是声明
CC cc(10) 是生成一个类的实例,在类的声明部分不能这么干
类似下面的
private:
int a = 10 ; //行不通吧
[解决办法]
CC cc(10); 10的位置必须是一个数据类型,而不是变量
CC cc(int);
CC cc(int a);
都是可以的