我应该使用“field01”类。 “field01”具有大小为int 7的数组的输入和输出函数。在main函数中,有一个默认的field01,我似乎找不到找到使我的field01函数与默认初始化一致的方法。 (似乎我无法让field01作为数组读取)我是新手,所以请对初学者和潜在的错误代码耐心等待!
我在该类中形成了一个构造函数,如.... field01(){}; .... field01(int p [7]){}; ..... field01(p){}; ... field01(int p []){}都具有“int p [7]”类的私有(private)成员
class field01{public: field01(){};//...input, output and overload+ functions here
private:
int p[7];};
...
int main(void)
{field01 a(0,1,2,3,4,5,6);
return 0;}
该代码将无法编译。我收到一条错误消息“没有匹配的构造函数,无法初始化'field01'”,该消息点亮了主窗口中的field01声明。
最佳答案
这是因为您没有具有7 int
的构造函数。您只有1个构造函数,其参数为0。
如果要让类接受这样的7个参数,则需要为其创建一个特殊的构造函数。如下所示:
class field01 {
public:
field01(int i1,int i2,int i3, int i4, int i5, int i6, int i7) {
p[0] = i1;
p[1] = i2;
p[2] = i3;
p[3] = i4;
p[4] = i5;
p[5] = i6;
p[6] = i7;
}
};