启动应用程序时“访问被拒绝” - Windows Vista

时间:2013-11-11 12:47:01

标签: c++ windows-vista access-denied

我在Windows Vista(SP1)上拥有管理员权限。我用Dev-C ++编写了一个用C ++编写的程序。那是我的代码:

#include <iostream>

using namespace std;

int main()
{
    int n[30000], i;
    i = 0;
    while(n[i] != 0)
    {
        cin >> n[i];
        i++;
    }
    //TODO 
}

我可以正确编译,但是当我尝试在cmd中启动该程序时,我看到了以下错误:

  

拒绝访问

我厌倦了在我的IDE中启动debbuing模式,但后来我看到了以下错误:

  

启动应用程序(5)时出错:

     

拒绝访问

我检查过 - 我的文件没有被任何其他线程使用。你能告诉我我该怎样做才能使这项工作顺利进行?

1 个答案:

答案 0 :(得分:1)

与您的问题无关,但您的代码中存在未定义的行为。声明局部变量(甚至是数组)时,其值是不确定的。在初始化之前使用它是未定义的。

这意味着您的数组n基本上包含随机数据,而您不知道何时(如果有)将存在零。所以你可能用你的索引循环超出数组的边界,并写入那些地方。