9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
|
||||||
1 | ||||||
Почему не компилируется list.push_back( double[3] ) ?10.07.2015, 10:34. Показов 1627. Ответов 21
Метки нет (Все метки)
А почему компилятор отказывается добавлять в список массив?
0
|
10.07.2015, 10:34 | |
Ответы с готовыми решениями:
21
Про list push_back list.push_back ошибка! Потокобезопасность при одновременном pop_front и push_back std::list Почему мы пишем double x (double y)? а не через запятую double x,y |
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
|
||||||
10.07.2015, 10:41 | 2 | |||||
Попробуйте как то так
1
|
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
|
|
10.07.2015, 10:55 [ТС] | 3 |
Так-то работает, но это у меня получится список указателей на временные переменные, а я то мечтал создать список массивов.
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
||||||
10.07.2015, 11:07 | 4 | |||||
1
|
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488
|
||||||
10.07.2015, 11:10 | 5 | |||||
Как вариант
0
|
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
|
||||||
10.07.2015, 11:10 | 6 | |||||
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||||||
10.07.2015, 11:13 | 7 | |||||
Лишняя структурка не нужна, есть же std::array
1
|
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
|
|
10.07.2015, 11:31 [ТС] | 8 |
Спасибо, работает. Только всё же хотелось бы знать, почему без обёртки в структуру не работает, и замедлит ли работу программы добавление этой обёртки?
Добавлено через 3 минуты Чего мда? Это и я так могу, спасибо конечно за труд. Просто здесь я не хотел бы связываться с new / delete. Добавлено через 9 минут Я использую в программе typedef double point[3]. Я не знаю, может быть для C++ это не очень хороший стиль?
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
10.07.2015, 11:33 | 9 |
Сообщение было отмечено VIKT0R как решение
Решение
Да дело даже не в стиле, а в том, что в C++ нельзя массивы передавать по значению.
1
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
10.07.2015, 14:16 | 10 |
Нет не замедлит. Не работает потому что в С++ любой массив это указатель. Кстати часто приходится делать такие списки именно структур, так как данные в наборе разнородные.
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
10.07.2015, 14:38 | 11 |
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
10.07.2015, 15:45 | 12 |
И не только стул но еще и кровать, на него можно еще и лечь.
А любой массив в С++ - это указатель на его начало.
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
10.07.2015, 16:03 | 13 |
Старые песни о главном
Если массив это указатель, то почему операции, которые работают с указателями не работают с массивами? http://ideone.com/eWKQUE
1
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
10.07.2015, 16:47 | 14 |
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
10.07.2015, 16:51 | 15 |
О, ну тогда что же это? константный указатель присвается неконстантному указателю?
http://ideone.com/eWKQUE
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
10.07.2015, 17:29 | 16 |
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
10.07.2015, 17:35 | 17 |
0
|
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
|
|
10.07.2015, 17:39 | 18 |
Массив - это массив: непрерывный именованный участок памяти, содержащий данные одного типа; имя массива (non-modifiable) lvalue, в некоторых случаях ,может быть раложено (decay) к rvalue: "указателю на первый элемент массива" (что, в частности, происходит в формальных параметрах функций).
Указатель - переменная, содержащая адрес.
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
10.07.2015, 17:45 | 19 |
0
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
10.07.2015, 17:54 | 20 |
0
|
10.07.2015, 17:54 | |
10.07.2015, 17:54 | |
Помогаю со студенческими работами здесь
20
Почему push_back() быстрее insert() Linq преобразование List<List<double>> в List<Array> Как узнать размерность внутреннего вектора в массиве List<List<Double>>? Перевод List<List<double>> в double[][] Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |