AK3RN
307 / 18 / 3
Регистрация: 01.05.2010
Сообщений: 250
|
||||||
#1 | ||||||
Возврат указателя на массив из функции - C++06.08.2010, 12:48. Просмотров 5238. Ответов 4
Метки нет Все метки)
(
Здравствуйте.
Пытаюсь вернуть указатель на массив из функции.
Проводил трассировку, сравнивал адреса элементов массива в памяти(как и положено для int со сдвигом на 4 байта) - адреса совпадают. Но вот значения, лежащие по этим адресам в главной функции и в функции ReturnArray разные. Интересует почему так. Спасибо UPD. Все, разобрался, надо было сообщения компилятора читать. И хоть чуть-чуть головой подумать
warning C4172: returning address of local variable or temporary
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
06.08.2010, 12:48 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Возврат указателя на массив из функции (C++):
4
Возврат указателя на массив из функции - C++ Возврат указателя на массив указателей - C++ Возврат указателя - C++ Возврат функцией указателя на функцию - C++ Возврат указателя на строку из фукнции - C++
|
fasked
![]() |
|
06.08.2010, 12:55 | #2 |
если вы хотите именно такую форму записи, то попробуйте объявить массив в функции, как static.
а вообще все локальные переменные имеют свое время жизни, в вашем случае массив удаляется из памяти к моменту выхода из функции.
0
|
AK3RN
307 / 18 / 3
Регистрация: 01.05.2010
Сообщений: 250
|
|
06.08.2010, 12:57 [ТС] | #3 |
0
|
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
|
|
06.08.2010, 14:23 | #4 |
fasked, а не лучше ли будет выделять память в куче?..
0
|
fasked
![]() |
|
06.08.2010, 15:09 | #5 |
зависит от случая.
статический массив только один. соответственно, если есть необходимость, чтобы возвращаемый указатель указывал на разные объекты, то статические массивы не подойдут. если такой необходимости нет, то я предпочел бы статику. лишние беспокойства об утечках никому не нужны.
1
|
06.08.2010, 15:09 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
06.08.2010, 15:09 |
Привет! Вот еще темы с ответами:
5
Возвращения указателя на массив из функции - C++
Происхродит ли здесь возврат указателя на не действительную память? - C++ Возврат 2 значений из функции с одним вызовом этой же функции - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |