none
Ошибка при компиляции в Visual Studio 2008 RRS feed

  • Вопрос

  • Создал проект Win32 Консольное приложение, добавил в него свой файл, написанный на языке Си (раньше компилировал с помощью DevCPP), назвал его "6 февраля 2011". При компиляции в Visual studio выдается ошибка: Первый этап обработки исключения в "0x00411f3d" в "6 февраля 2011.exe": 0xC0000005: Нарушение прав доступа при записи "0x00000000". Подскажите, пожалуйста, почему выскакивает такая ошибка и как ее исправить??

    9 февраля 2011 г. 18:53

Ответы

  • нужно используя оператор new выделить необходимый объем памяти.

    int * s = new int [10];
    
    for (int i=0; i<=10;i++)
    
    {
    
      s[i]=i;
    
    }
    
    
    ...
    
    delete [] s;
    
    Не забудьте освободить после использования память при помощи оператора delete.

    • Помечено в качестве ответа Abolmasov Dmitry 17 февраля 2011 г. 5:39
    16 февраля 2011 г. 21:41

Все ответы

  • Без кода ничего внятного не могу сказать. Могу только посоветовать проверить правильность работы с указателями. Возможно вы не выделили под него память и пытаетесь писать по нулевому адресу.
    10 февраля 2011 г. 8:59
  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме


    Для связи [mail]
    15 февраля 2011 г. 7:02
  • В коде я делаю следующую запись:

    int * s;

    for (int i=0; i<=10;i++)

    {

        s[i]=i;

    }

    Мне кажется, в этом ошибка. Подскажите пожалуйста, в чем проблема, как исправить. Если можно, как-нибудь динамически выделять память. Очень нужно!!

    16 февраля 2011 г. 19:52
  • нужно используя оператор new выделить необходимый объем памяти.

    int * s = new int [10];
    
    for (int i=0; i<=10;i++)
    
    {
    
      s[i]=i;
    
    }
    
    
    ...
    
    delete [] s;
    
    Не забудьте освободить после использования память при помощи оператора delete.

    • Помечено в качестве ответа Abolmasov Dmitry 17 февраля 2011 г. 5:39
    16 февраля 2011 г. 21:41