У меня есть права администратора в Windows Vista (SP1). Я пишу программу на C ++ на Dev-C ++. Это мой код:
#include <iostream>
using namespace std;
int main()
{
int n[30000], i;
i = 0;
while(n[i] != 0)
{
cin >> n[i];
i++;
}
//TODO
}
Я могу скомпилировать это правильно, но когда я пытаюсь запустить эту программу в cmd
Я вижу следующую ошибку:
Доступ закрыт
Я устал, чтобы запустить режим debbuing в моей IDE, но потом я увидел следующую ошибку:
Ошибка при запуске приложения (5):
Доступ закрыт
Я проверил — мой файл не используется никаким другим потоком. Можете ли вы сказать мне, что я должен сделать, чтобы это работало правильно?
Не связано с вашей проблемой, но у вас есть неопределенное поведение в вашем коде. Когда вы объявляете локальную переменную, даже массив, ее значение является неопределенным. Использование его до инициализации не определено.
Это означает, что ваш массив n
будет в основном содержать случайные данные, и вы не знаете, когда (если когда-либо) будет ноль. Таким образом, вы, вероятно, зациклите свой путь за пределами массива с вашим индексом и будете писать в эти места.
Других решений пока нет …