C++ 模板格式设置下的结构常量错误

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

休闲代码告诉我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 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);
调用构造函数。