很抱歉再问其中一个问题。我看了一下staackoverflow的答案。我在变量nums周围得到错误堆栈。这是否意味着我在变量nums附近输入了一些额外的代码?我试过搞清楚,但我无法找到它。我是编码的小伙子,很抱歉。这是我的代码,我认为问题在于我的
cout << "The numbers on file are:\n " << nums, size;
我在read_data上面调用main但我找不到问题。谢谢!
我的代码:
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
using namespace std;
void read_data(int nums[], int size);
int main()
{
const int size = 24;
ifstream dataIn;
int nums[size];
read_data(nums,size);
cout << "The numbers on file are:\n " << nums, size;
system("PAUSE");
return 0;
}
void read_data(int nums[], int size)
{
ifstream dataIn;
dataIn.open("walrus.txt");
if( dataIn.fail() )
{
cout << "File does not exist." << endl;
exit(1);
}
int count;
for ( count = 0; count < size; count++ )
{
dataIn >> nums[size];
}
dataIn.close();
}
答案 0 :(得分:2)
关于运行时问题 -
dataIn >> nums[size];
尝试访问超出范围的数组索引是未定义的行为。大小 N 的有效数组索引 0 到 N-1 。