union 和 struct 中,直接给变量赋值为什么是错误的?

wm219 2008-09-27 11:15:32
union abc
{
int a = 10;//error
};

struct abc
{
int a = 10;//error
};

如果我想在struct中加一个常变量,怎么办?
struct abc
{
const int a = 10;  //error
}
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
OenAuth.Core 2008-09-27
  • 打赏
  • 举报
回复
一般都用初始化成员列表对成员进行初始化,不能直接赋值
OenAuth.Core 2008-09-27
  • 打赏
  • 举报
回复

struct CA
{
int b;
const int a;//定义常量
CA():a(1),b(0){}//a初始为1,b初始为0,用初始化列表 
};

union CB{
int b1;
float b2;
CB():b1(0),b2(1.2){}//同上
};


int main()
{
return 0;
}


代码怎么帖成Assembly了,晕
OenAuth.Core 2008-09-27
  • 打赏
  • 举报
回复

//结构体
struct CA
{
int b;
const int a;//定义常量
CA():a(1),b(0){}//a初始为1,b初始为0,用初始化列表 
};


int main()
{
return 0;
}
yance 2008-09-27
  • 打赏
  • 举报
回复
加一个static const int a=2; 就可以写在里面,不过依然是声明,不是定义。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧