Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何按索引分配对象数组?(C+;+;)_C++_Arrays_Class_Object_Initialization - Fatal编程技术网

C++ 如何按索引分配对象数组?(C+;+;)

C++ 如何按索引分配对象数组?(C+;+;),c++,arrays,class,object,initialization,C++,Arrays,Class,Object,Initialization,这是我的字符类中的构造函数: 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}; ch

这是我的
字符
类中的构造函数:

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 );

假设正确定义了
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 );

假设正确定义了
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 );

假设正确定义了
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 );

如果您只想选择性地初始化数组中的元素,则< C>C99 < /C> >在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 )
};
对于其余元素,还必须具有默认的
字符
构造函数


但是,C++(11)中的这个特性似乎是处理它(可能通过扩展)。

< P>如果你只想选择性地初始化数组中的元素,则< C> C99 < /C> >在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 )
};
对于其余元素,还必须具有默认的
字符
构造函数


但是,C++(11)中的这个特性似乎是处理它(可能通过扩展)。

< P>如果你只想选择性地初始化数组中的元素,则< C> C99 < /C> >在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 )
};
对于其余元素,还必须具有默认的
字符
构造函数


但是,C++(11)中的这个特性似乎是处理它(可能通过扩展)。

< P>如果你只想选择性地初始化数组中的元素,则< C> C99 < /C> >在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 )
};
对于其余元素,还必须具有默认的
字符
构造函数



然而,C++11中的这一功能,但gcc似乎可以处理它(可能通过扩展)。

它是赋值,而不是初始化。如果不查看,我绝对不知道该向该构造函数传递什么。这是一个很糟糕的信号。看起来你有一个,但没有包含包含类定义的实际报头。为什么人们不使用STD::vector?@ SNOVYY77坏的C++教程或老师,通常是指派而不是初始化。我绝对不知道什么东西不看就传进那个构造器。这是一个很糟糕的信号。看起来你有一个,但没有包含包含类定义的实际报头。为什么人们不使用STD::vector?@ SNOVYY77坏的C++教程或老师,通常是指派而不是初始化。我绝对不知道什么东西不看就传进那个构造器。这是一个很糟糕的信号。看起来你有一个,但没有包含包含类定义的实际报头。为什么人们不使用STD::vector?@ SNOVYY77坏的C++教程或老师,通常是指派而不是初始化。我绝对不知道什么东西不看就传进那个构造器。这是一个很糟糕的信号。看起来你有A,但没有包含包含类定义的实际标题。为什么人们不使用STD::vector?@ SNOVYY77坏C++教程或老师,通常。这是什么?是一样的吗<代码>字符字符[100]={Character[0]={777,10,5,“一”,“类型”,“描述”,“状态”,“刀”,10.0,20.0,假,真},字符[1]={707,5,10,2”,“类型2”,“描述2”,“状态”,“枪”,15.0,23.4,真},字符[2]={888,7,43,“三”,“类型3”,“描述3”,“状态”,“剑”,15.0,23.4,假}尝试了你的方法。不工作。仍然有错误。你有一个不带参数的字符构造函数吗?您需要它来声明数组。如果你不想这样做,我建议使用向量。另外,显示实际的错误消息也会有帮助。是的,我有无参数构造函数。这个呢?是一样的吗<代码>字符字符[100]={Character[0]={777,10,5,“一”,“类型”,“描述”,“状态”,“刀”,10.0,20.0,假,真},字符[1]={707,5,10,2”,“类型2”,“描述2”,“状态”,“枪”,15.0,23.4,真},字符[2]={888,7,43,“三”,“类型3”,“描述3”,“状态”,“剑”,15.0,23.4,假}尝试了你的方法。不工作。仍然有错误。你有一个不带参数的字符构造函数吗?您需要它来声明数组。如果你不想这样做,我建议使用向量。另外,显示实际的错误消息也会有帮助。是的,我有无参数构造函数。这个呢?是一样的吗<代码>字符字符[100]={Character[0]={777,10,5,“一”,“类型”,“描述”,“状态”,“刀”,10.0,20.0,假,真},字符[1]={707,5,10,2”,“类型2”,“描述2”,“状态”,“枪”,15.0,23.4,真},字符[2]={888,7,43,“三”,“类型3”,“描述3”,“状态”,“剑”,15.0,23.4,假}尝试了你的方法。不工作。仍然有错误。你有一个不带参数的字符构造函数吗?您需要它来声明数组。如果你不想这样做,我建议使用向量。另外,显示实际的错误消息也会有帮助。是的,我有无参数构造函数。这个呢?是一样的吗<代码>字符字符[100]={Character[0]={777,10,5,“一”,“类型”,“描述”,“状态”,“刀”,10.0,20.0,假,真},字符[1]={707,5,10,2”,“类型2”,“描述2”,“状态”,“枪”,15.0,23.4,真},字符[2]={888,7,43,“三”,“类型3”,“描述3”,“状态”,“剑”,15.0,23.4,假}尝试了你的方法。不工作。仍然有错误。你有一个不带参数的字符构造函数吗?您需要它来声明数组。如果你不想这样做,我建议你使用vecto