这个问题已经在这里有了答案:
已关闭8年。
我实际上不知道我的问题叫什么,所以我没有太多运气来寻找解决方案。
我想将结构初始化为现有变量。
struct s { int i; };
s inst = { 7 }; // valid
inst = { 9 }; // invalid
我怎样才能实现这样的目标?
最佳答案
根据定义,您只能实例化一次实例。初始化对象后,您只能更改其状态。在您的示例中,假设您想更改对象inst
的状态,使其数据成员持有值9
,则可以将其分配给s
对象的'i'数据成员:
inst.i = 9;
另一种选择是为您的实例分配一个临时的
s
实例。构造临时数据时,其数据成员的值应为9
:inst = s{9};
关于c++ - 初始化结构值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12881400/