758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
|
||||||
1 | ||||||
Ошибка при std::transform() для std::initializer_list<int>09.03.2022, 10:41. Показов 1536. Ответов 6
Здравствуйте! Написал код. Там 3 целочисленных переменных. С помощью них инициализировал список инициализации и массив. Применил к ним трансформирование. С массивом ошибок нет, а со списком получаю ошибку, что нельзя присваивать константе новое значение (это по памяти в VS), в онлайн компиляторе
error: assignment of read-only location ‘* __result’ . Можете объяснить в чем причина ошибки. Вот мой код. Спасибо!
0
|
09.03.2022, 10:41 | |
Ответы с готовыми решениями:
6
Странная ошибка: [Error] no match for call to '(std::string {aka std::basic_string<char>}) (int&)' std::getline Альтернатива для (std::string, int, char) На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri Ошибка [Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11 при компиляции |
Неэпический
|
|
09.03.2022, 10:46 | 2 |
Сообщение было отмечено ram876 как решение
Решение
Нельзя изменять элементы std::initializer_list, begin и end дают const T*.
1
|
758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
|
||||||
09.03.2022, 10:51 [ТС] | 4 | |||||
При:
0
|
Любитель чаепитий
|
|
09.03.2022, 10:56 | 5 |
Сообщение было отмечено ram876 как решение
Решениеstd::begin и std::end просто вызывают begin() и end() у того контейнера, который в них передают. отличие только для массивов.так что если методы begin и end только константные, то они и вызовутся.
1
|
Неэпический
|
|
09.03.2022, 11:33 | 7 |
2
|
09.03.2022, 11:33 | |
09.03.2022, 11:33 | |
Помогаю со студенческими работами здесь
7
Ошибка terminate called after throwing an instance of 'std::bad_alloc' при работе с типом std::string Std::unordered_multimap<std::string, int> map Std::initializer_list wchar_t Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream Расстановка девяти чисел (Turbo C) Выводит ошибку using Matrix = std::array<std::array<int, 3>, 3>; и bool NextSet Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |