C++:如何为多维向量构造构造函数?

FRi*_*idh 2 c++ class vector multidimensional-array

我想使用类中的构造函数创建二维和三维向量.但是,我不知道多维向量是怎样的.

一维作品:

class One{
    public:
        vector < float > myvector;

        One(int length) : myvector(length){}

};
Run Code Online (Sandbox Code Playgroud)

二维不起作用:

class Two{
    public:
        vector < vector < float > > myvector;

        Two(int length, int width) : myvector(length)(width) {}

};
Run Code Online (Sandbox Code Playgroud)

三维也不起作用:

class Three{
    public:
        vector < vector < vector < float > > > myvector;

        Three(int length, int width, int height) : myvector(length)(width)(height) {}

};
Run Code Online (Sandbox Code Playgroud)

下面的答案适用于二维向量.我希望以下代码为三维,但似乎是错误的

class Three{
    public:
        vector < vector <  vector < float > > > myvector;

        Three(int length, int width, int height) : myvector(length, vector<float>(width, vector<float>(height))) {}

};
Run Code Online (Sandbox Code Playgroud)

Kon*_*lph 13

对于二维案例,它应该是:

Two(int length, int width) : myvector(length, std::vector<float>(width)) {}
Run Code Online (Sandbox Code Playgroud)

我会让你自己弄清楚第三种情况.

  • 哈哈,你这次赢了这场比赛.+1 :) (2认同)