C++ 用向量表示矩阵
为什么这会给我一个C++ 用向量表示矩阵,c++,C++,为什么这会给我一个错误:“matrixSize”不是一个类型 int matrixSize = 10; vector<vector<double> > matrix(matrixSize, vector<double>(matrixSize)); int matrixSize=10; 向量矩阵(矩阵大小,向量(矩阵大小)); 这里有什么问题?在cppreference中,我看不到vvector构造函数需要任何类型在构造函数中移动矩阵的定义。更改: vect
错误:“matrixSize”不是一个类型
int matrixSize = 10;
vector<vector<double> > matrix(matrixSize, vector<double>(matrixSize));
int matrixSize=10;
向量矩阵(矩阵大小,向量(矩阵大小));
这里有什么问题?在cppreference中,我看不到vvector构造函数需要任何类型在构造函数中移动矩阵的定义。更改:
vector<vector<double> > matrix(matrixSize, vector<double>(matrixSize));
向量矩阵(矩阵大小,向量(矩阵大小));
致:
向量矩阵;
然后在构造函数内部:
CParser(const string & str) : iss(str) {
this->matrix = vector<vector<double>>(this->matrixSize, vector<double>(this->matrixSize));
}
CParser(常量字符串和str):iss(str){
这个->矩阵=向量(这个->矩阵大小,向量(这个->矩阵大小));
}
GCC 4.9.3-std=c++14,编译得很好。这不会给您带来任何错误。您确定此错误来自这些代码行吗。可能是其他原因导致了这个错误?包括实际的编译器呕吐物,而不仅仅是对它的解释。代码在我看来很好,所以我们确实需要这个错误来帮助您。是的,这也可以用GCC 5.3.1编译(没有CXX14标志)错误:“matrixSize”不是一个类型
在您的代码中可能有这样的内容:vector
?这可能会出现这样的错误谢谢你真的需要“This->”吗?在某些情况下,我可以在构造函数的初始值设定项列表中初始化matrixSize是的。但我认为每次使用它都是很好的练习。请注意,matrix
和matrixSize
都是CParser
的成员,这就是我使用this
的原因。是的,您可以在constructor@DimChtz首选方法是使用初始化列表。OP的目标是初始化成员,初始化列表的目的就是初始化。您应该更新答案以包含此内容。@PaulMcKenzie从未说过相反的话:)
CParser(const string & str) : iss(str) {
this->matrix = vector<vector<double>>(this->matrixSize, vector<double>(this->matrixSize));
}