Очищение массива вне зоны видимости C++

182
01 марта 2019, 09:00

Создал я программу вывода меню, ну и выполнения действий по пунктам меню:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() 
{
setlocale(LC_ALL, "Russian");
int a[10] = {};
int k,n,l,nomer,min,summ;
char ch;
srand(time(NULL));
bool quit=true;

Тут через cout выводится меню:

while (quit) 
{   
cout<<'\n'<<"Введите номер пункта: ";
cin >> nomer;
    switch (nomer)
    {
      //Тут много case с 1 по 14
     case 13:
        {
            //Ругается на делиты массивов не знаю из-за чего
            //delete [] a;         
        }
        break;

Пытался сделать массив, a public он пишет ошибку: типа нет аргумента, может я не правильно писал.

Вообщем как правильно удалить массив?

У меня удаляется только если в case одном и том же удаляет, а вне case массив не видит программа.

Answer 1

Удаление через

delete [] a;

допустимо только для массива, выделенного через new []:

int * a = new int[N];

Ваш массив локальный, в стеке, уничтожится сам при выходе из main().

READ ALSO
Работа с бинарным файлом

Работа с бинарным файлом

Есть бинарный файлНужно сделать проверку на пустоту, и если false, то очистить его

198
towupper для национальных страниц кодировки

towupper для национальных страниц кодировки

Есть решения по типу towupper для национальных страниц кодировки? из типа LPWSTR (wchar_t)

143
Удаление многомерного массива

Удаление многомерного массива

Учебник- практикум Павловская ТА

170
Mac OS IntelliJ IDEA не работает Gradle

Mac OS IntelliJ IDEA не работает Gradle

Mac OS IntelliJ IDEA не работает Gradle На windows все норм собирается, последняя версия среды

152