Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用向量表示矩阵_C++ - Fatal编程技术网

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));
}