Форум программистов, компьютерный форум CyberForum.ru

Массивы : невозможно выделить память для массива постоянного нулевого размера - C++

Восстановить пароль Регистрация
 
Passvv0rd
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 5
14.12.2013, 23:43     Массивы : невозможно выделить память для массива постоянного нулевого размера #1
Помогите или направьте.

1>3.cpp(10): error C2057: требуется константное выражение
1>3.cpp(10): error C2466: невозможно выделить память для массива постоянного нулевого размера
1>3.cpp(10): error C2133: mas: неизвестный размер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Сформировать массив из n элементов с помощью датчика случайны чисел (n задается пользователем с клавиатуры)
#include "stdafx.h"
#include "stdio.h"
#include "locale"
#include "iostream"
int main()
{
    using namespace std;
    setlocale(LC_ALL,"Russian");
    int i, n, mas[n];
      cout<<"Введите кол-во элементов массива";
      cin>>n;
      for (int i=0; i<n; i++){
          mas[i]=rand()%100;}
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 23:43     Массивы : невозможно выделить память для массива постоянного нулевого размера
Посмотрите здесь:

Выделить память для трёхмерного массива C++
выделить память для массива*[] C++
C++ Как выделить память для динамического массива?
C++ Как динамически выделить память для строкового массива?
C++ Выделить динамическую память для 2-х мерного массива из N-строк
C++ Выделить память для трехмерного массива и изменить индексы начального элемента массива
Как выделить память для двухмерного массива? C++
Невозможно выделить память для массива постоянного нулевого размера C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
15.12.2013, 00:20     Массивы : невозможно выделить память для массива постоянного нулевого размера #2
Размер массива нужно указывать в объявлении это величина константная и изменить ее после объявления нельзя.
C++
1
const int n = 10;
а чтобы иметь произвольный размер нужно выделить память.
C++
1
2
   int n;
    int *a = new int [n]; // одномерный динамический массив
и работать как с обычным массивом.В конце программы память нужно освобождать
C++
1
delete [] a;
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
15.12.2013, 09:23     Массивы : невозможно выделить память для массива постоянного нулевого размера #3
Цитата Сообщение от Genn55 Посмотреть сообщение
В конце программы память нужно освобождать
C++
1
delete [] a;
Скорее следует освобождать, чего требует хороший стиль программирования. При завершении работы программа всё равно вернёт всю взятую у ОС память обратно.
Yandex
Объявления
15.12.2013, 09:23     Массивы : невозможно выделить память для массива постоянного нулевого размера
Ответ Создать тему
Опции темы

Текущее время: 03:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru