Регистрация
7 Ноя 2012
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
Нужно сделать массив, количество элементов в котором будет равно переменной.

В этой части кода:

int randomSongsMax = songsNames.size();

int randomSongsAdded[randomSongsMax];

Пишет ошибку "Переменную randomSongsMax невозможно использовать как константу"

Если добавить перед "int" слово "const" ошибка не исчезает.

songsNames.size(); это получение количества элементов в map.
 
Нужен std::vector, там вообще кол-во не надо указывать, просто добавляешь и он растягивается сам под нужный размер

Ты же используешь вон std::map, значит вместо массивов используй std::vector, а не солянку делай и C++ (map) и Си (массивы)
 
// Этот код получает из std::map целые значения и вставляет их в std::vector, который сортирует по возрастанию и выводит результат в консоль

#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main() {
map<char, int> box{ { 'a', 8 }, { 'b', 5 }, { 'c', 7 } };
vector<int> num;
for (const auto& [key, value] : box) num.push_back(value);
sort(num.begin(), num.end());
for (auto value : num) cout << value << ' ';
puts("");
system("pause > nul");
}
 
Назад
Сверху