问题描述
我收到了这个错误:
错误C2664:''Vector :: setVector'':无法将参数1从''const std :: ifstream''转换为''std :: ifstream''
怎样它无法从std :: ifstream转换为std :: ifstream ???
这里是相关代码(我没有把所有变量都放在那些不相关的地方):
头文件:
class Matrix {
public:
。
。
。
。
void setMatrix(ifstream txtFile);
};
void Matrix :: setMatrix (ifstream txtFile){
int x;
for(int i = 0; i< this-> rowLength; i ++){
for(int j = 0; j< this-> columnLength; j ++){
txtFile>> x;
this-> contents [i] [j] = x;
}
}
}
cpp文件:
void main(){
string txtFileName;
Matrix matrix1;
cout< < 输入矢量/矩阵文件的名称(使用txt文件):" ;;
cin>> txtFileName;
ifstream txtFile(txtFileName.c_str());
matrix1.setMatrix(txtFile); //错误发生在这里
}
I got this error:
error C2664: ''Vector::setVector'' : cannot convert parameter 1 from ''const std::ifstream'' to ''std::ifstream''
How can it not be able to convert from std::ifstream to std::ifstream???
Here''s the relevant code (I didn''t put all the variables as those are not relevant):
header file:
class Matrix{
public:
.
.
.
.
void setMatrix(ifstream txtFile);
};
void Matrix::setMatrix (ifstream txtFile) {
int x;
for (int i = 0; i < this->rowLength; i++) {
for (int j = 0; j < this->columnLength; j++) {
txtFile >> x;
this->contents[i][j] = x;
}
}
}
cpp file:
void main() {
string txtFileName;
Matrix matrix1;
cout << "Enter name of vector/matrix file (use a txt file): ";
cin >> txtFileName;
ifstream txtFile(txtFileName.c_str());
matrix1.setMatrix (txtFile); //error occurs here
}
推荐答案
这篇关于无法理解我的错误意味着什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!