void countSort(int arr[], int n, int exp)
{
int* output[] = new int[n] ; // output array
int i, count[10] = { 0 };
В данном примере при попытке создания массива output
, возникает ошибка под new
: «для агрегатного объекта требуется инициализация...». Пробовал делать просто int output [n];
, но VS не позволяет так сделать (возможно, отсутствует поддержка VLA).
Когда делаю такое на C, проблема та же, только после компиляции «ругается» на malloc
. Вопрос: как создать массив в функции, используя для его размера параметр функции?
Оператор new
выделит для массива память и вернет указатель на этот выделенный для вас участок памяти. Вы же пытаетесь присвоить указатель (int *
) массиву (int []
). Решение — сделать переменную output
указателем:
int *output = new int[n];
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Написал небольшой модуль для lua51 (в качестве эксперимента) на с++ (понятное дело функции экспортированы в C)
Друзья, помогите с задачейКак сделать так, чтобы запись в файл производилась из всех файлов проекта(например
Есть у меня кнопка на ней ссылка которая передаёт значения!