如何解决可以以这种方式初始化struct吗?
下面是我的代码,我定义了一个包含int
和string
变量的结构。我记得在c / c ++中
可以像这样A a={0}
初始化struct,然后在下面执行此操作,但是,当我打印出其字符串成员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;
}
解决方法
您的代码运行正常,请检查执行here。 您的输出将为空,因为c ++中的字符串默认情况下为空,即c ++中的字符串大小默认为0。因此,没有输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。