【发布时间】:2020-12-07 04:44:38
【问题描述】:
下面是我的代码,我定义了一个包含int 和string 变量的结构。我记得在 c/c++ 中,
struct 可以像这样A a={0} 初始化,我在下面这样做,但是,当我打印出它的字符串成员 b 时。抛出一个实例后程序崩溃并调用终止
'std::logic_error' what(): basic_string::_M_construct null not valid。但是如果我将字符串 b 更改为 int b
,它不再崩溃了。有谁知道原因吗??
struct example
{
int a;
string b;
};
int main()
{
example q={0};
cout<<q.b<<endl;
}
【问题讨论】:
-
代码看起来不错。我不能reproduce。你用的是什么编译器?
标签: c++ class struct initialization