[英]How to assign an object array by index? (C++)
这是我的Character
类的构造函数:
Character(int, int, int, string, string, string, string, string, double, double, bool, bool);
在主要功能中,这是我尝试过的方法:
Character character[100];
character[0] = {777, 10, 5, "one", "type", "desc", "status", "knife", 10.0, 20.0, false, true};
character[1] = {707, 5, 10, "two", "type2", "desc2", "status", "knife", 15.0, 23.4, true, true};
没有存储类或类型说明符的错误状态。
编辑*最后使用此命令正确:p / s-如果有的话,请提供更好的解决方案。 = /
Character character[100] = { character[0] = { 777, 10, 5, "one", "type", "desc", "status", "knife", 10.0, 20.0, false, true },
character[1] = { 707, 5, 10, "two", "type2", "desc2", "status", "gun", 15.0, 23.4, true, true },
character[2] = { 888, 7, 43, "three", "type3", "desc3", "status", "sword", 15.0, 23.4, false, false } };
假设您已经正确定义了operator=
,则可以执行以下操作:
Character character[100];
character[0] = Character( 777, 10, 5, "one", "type", "desc", "status", "knife", 10.0, 20.0, false, true );
character[1] = Character( 707, 5, 10, "two", "type2", "desc2", "status", "knife", 15.0, 23.4, true, true );
如果仅打算选择性地初始化数组中的元素,则C99
指定了初始化器 ,这些初始化器似乎也可以在C ++中使用。
Character character[100] = {
[0] = Character( 777, 10, 5, "one", "type", "desc", "status", "knife", 10.0, 20.0, false, true ),
[1] = Character( 707, 5, 10, "two", "type2", "desc2", "status", "knife", 15.0, 23.4, true, true )
};
对于其余元素,还必须具有默认的Character
构造函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.