C++ 模板格式设置下的结构常量错误
休闲代码告诉我o.days和来自构造函数的days无法解决,有人知道为什么吗C++ 模板格式设置下的结构常量错误,c++,templates,C++,Templates,休闲代码告诉我o.days和来自构造函数的days无法解决,有人知道为什么吗 template <class T> struct Array{ int days; T * M; }; 模板结构数组{ 国际日; T*M; }; 类的构造函数: void constr(Array<Expe> &o){ o=new Array; o->days = days; o->M = new Arra
template <class T> struct Array{
int days;
T * M;
};
模板结构数组{
国际日;
T*M;
};
类的构造函数:
void constr(Array<Expe> &o){
o=new Array;
o->days = days;
o->M = new Array[o->days];
}
void constr(数组和o){
o=新阵列;
o->天=天;
o->M=新数组[o->days];
}
编辑(Luchian Grigore):
模板结构数组{
国际日;
T*M;
数组(整数大小):天(大小),M(新整数[大小])
{
}
~Array()
{
删除[]M;
}
};
当我尝试在main中初始化数组时,如下所示:
int main(){
//Main function of the program. no pre/ post condition.
Array <Expe> A;
intmain(){
//程序的主要功能。无前置/后置条件。
阵列A;
错误:
在此处输入代码
。\M.cpp:18:15:错误:对“Array::Array()”的调用没有匹配的函数数组&o
是对数组
对象的引用,而不是指针。如果必须重新初始化它,则语法为
o = Array<Expe>();
编辑:
我记得昨天的代码是一样的。你为什么还要使用合适的构造函数呢
template <class T> struct Array{
int days;
T * M;
Array( int size ) : days(size), M(new int[size])
{
}
~Array()
{
delete[] M;
}
};
模板结构数组{
国际日;
T*M;
数组(整数大小):天(大小),M(新整数[大小])
{
}
~Array()
{
删除[]M;
}
};
数组&o
是对数组
对象的引用,而不是指针。如果必须重新初始化它,则语法为
o = Array<Expe>();
编辑:
我记得昨天的代码是一样的。你为什么还要使用合适的构造函数呢
template <class T> struct Array{
int days;
T * M;
Array( int size ) : days(size), M(new int[size])
{
}
~Array()
{
delete[] M;
}
};
模板结构数组{
国际日;
T*M;
数组(整数大小):天(大小),M(新整数[大小])
{
}
~Array()
{
删除[]M;
}
};
我记得你的代码,但有时很难适应大学里这么快的东西。我们的老师是一个新老师,当谈到教学时,他真的很弱,我们有很多工作要做……正如你可能看到的,我自己做每件事……例如whay Array(int size)?大小是常量…始终为31点。我使用了您的代码。我将大小声明为全局常量31,但在初始化数组时出现错误…\M.cpp:18:15:error:调用“array::array()”时没有匹配的函数@BogdanMaier您应该使用参数32:array arr(31)调用构造函数;
。我记得你的代码,但有时在大学里很难适应这么快的节奏。我们的老师是个新老师,当谈到教学时,他真的很弱,我们有很多工作要做……正如你可能看到的,我自己做每件事……例如whay数组(int-size)?大小是常量…始终为31点。我使用了您的代码。我将大小声明为全局常量31,但在初始化数组时出错…\M.cpp:18:15:error:调用“array::array()”@BogdanMaier时没有匹配的函数您应该使用参数32:array arr(31);
调用构造函数。