首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这个有关问题.结构体内定义布尔变量

2012-04-21 
这个问题...结构体内定义布尔变量我想在结构体中定义一个布尔变量,但是一直不能给它初始化一个值(这个怎么

这个问题...结构体内定义布尔变量

  我想在结构体中定义一个布尔变量,但是一直不能给它初始化一个值(这个怎么说呢,就是struct{bool i = false})。这样为什么不行啊。编译连接的时候提示 only static const integral data members can be initialized within a class.

但是我没用到类啊。求解,虽然这个问题有点钻牛角尖,也许有点弱智...但小弟希望大神们能指点一二


[解决办法]
这里你必须懂得struct和class关键字在C++中的区别:两个基本一样,除了声明的成员的默认访问控制。struct默认的访问控制是public,而class是private,其余都是一样。所以可以除了这个不同外,很多时候你就他们理解为一样。因此,不能在结构体/类中直接声明并初始化。只有const static成员变量能在其中声明定义。
[解决办法]
struct stu

stu()
{i=false;};
bool i;

在构造函数中初始化。

热点排行