我正在尝试引入部分数据文件来填充数组,用户尝试了三次输入正确的数据文件名。我一再遇到这些错误。我知道像 arr 这样的数组只是一个指向内存块的指针。
#include
#include
#include
sử dụng không gian tên std;
void extract (double arr ,int n, double& i, int& error);
int main () {
double arr[256];
int n=256;
double i=0;
int error=0;
extract (arr,n,i,error);
trả về 0;
}
void extract (double arr, int n, double& i,int& error){
string infile;
string data="data.txt";cout <<"enter data file name/n";
cin >> infile;
while ((error<3) && (data.compare(infile) != 0)){
error++;
cout << "error in input. Please try again/n";
cin >> infile;
}
if (error<3){
ifstream fin;
fin.open("data.txt");
while ((i> arr[i])){
tôi++;
cout << arr[i] << " ";
}
fin.close();}
}
错误发生在将数据文件中的数据输入到数组的 while 循环中。将 Double i 更改为 int i 替换了旧问题
error: invalid types ‘double[int]’ for array subscript
这是我的数据文件848778169436879350226328916064274127733712696830833163246836303个235970689457124330742220853899251671142792815774637197826个268528376个4730145825968346156835654451889777989854个525510033617769401327879540
更改
void extract (double arr ,int n, double& i, int& error);
ĐẾN void extract (double* arr ,int n, double& i, int& error);
hiện hữu extract
的定义和声明中功能
编辑:另一个错误是因为 gấp đôi
类型变量用作数组索引,在您的例子中为 Tôi
hiện hữuextract
函数,所以要么改变 Tôi
的类型至 int
hoặc sử dụng i = static_cast(i)
在提取功能的最开始,我更喜欢第一种方式。
Đây là liên kết您的代码以及所做的更改,它可以编译并完美运行。
Hy vọng nó sẽ giúp bạn
Tôi là một lập trình viên xuất sắc, rất giỏi!