【发布时间】:2014-07-26 07:52:16
【问题描述】:
我是 C++ 编程的初学者 我有一个文本文件,其中有 100 万个以空格分隔的素数。我想把它们放在一个 int 数组 primes[] 中。以下是我写的代码:
int main()
{
ifstream infile;
infile.open("C:/Users/DELL/Desktop/primes1.txt");
//check for error
if(infile.fail()){cerr<<"Error Opening File"<<endl;
exit(1);}
int i=0;
primes = new int[1000001];
while(i != infile.eof()){
infile>>primes[i];
i++;
}
cout<< primes[4] <<endl;
return 0;
}
当我构建并运行时,它给出了以下错误:
“错误:'primes' 未在此范围内声明”
解决办法是什么?
【问题讨论】:
-
你的素数声明在哪里?
-
你的意思是写
int* primes = new int[1000001]; -
primes = new int[1000001];-->int *primes = new int[1000001]; -
还是在栈上而不是在堆上分配?
-
while(i != infile.eof())看起来很不对劲。
标签: c++ arrays file text error-handling