我应该使用“ field01”类。 “ field01”具有大小为int 7的数组的输入和输出函数。在main函数中,有一个默认的field01,我似乎找不到找到使我的field01函数与默认初始化一致的方法。 (似乎我无法让field01读取为数组)我是新手,所以请耐心接受初学者和潜在的错误代码!
我已经在该类中形成了一个构造函数,如.... field01(){}; .... field01(int p [7]){}; ..... field01(p){}; ... field01(int p []){}都具有“ int p [7]”类的私有成员
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声明。
答案 0 :(得分:0)
那是因为您没有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;
}
};