3D矢量构造函数C++

Sam*_*Sam 0 c++ vector

对于2d矢量,我知道我可以去:

vector<vector<T>> vec;
vec = vector<vector<T>> (boardSize, vector<T>(boardSize));
Run Code Online (Sandbox Code Playgroud)

但是我如何为3D矢量做到这一点?

我试过了

vector<vector<vector<T>>> vec;
vec = vector<vector<vector<T>>> (boardSize, boardSize, vector<T>(boardSize));
Run Code Online (Sandbox Code Playgroud)

但它不会编译.有任何想法吗?

Lyt*_*yth 5

只是一个猜测:

vec = vector<vector<vector<T>>> (boardSize, vector<vector<T>>(boardSize, vector<T>(boardSize)));
Run Code Online (Sandbox Code Playgroud)

这意味着,当你宣布a时vector<vector<T>>,第二个参数应该是a vector<T>; 当你声明a时vector<vector<vector<T>>>,第二个参数应该是a vector<vector<T>>,而第二个参数应该与第一个参数一样.