运行时检查错误2

时间:2014-03-26 22:53:43

标签: c++ arrays variables

很抱歉再问其中一个问题。我看了一下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();
}

1 个答案:

答案 0 :(得分:2)

关于运行时问题 -

dataIn >> nums[size];

尝试访问超出范围的数组索引是未定义的行为。大小 N 的有效数组索引 0 N-1