Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Fedor666
Основоположник на всё
42 / 42 / 4
Регистрация: 22.02.2010
Сообщений: 311
#1

Возвращение адреса локальной переменной - C++

29.01.2017, 13:38. Просмотров 409. Ответов 3
Метки нет (Все метки)

Добрый день!
Нужна функция читающая из файла разные медиа-данные в память. Размер заранее неизвестен, поэтому сразу память выделить, прочитать туда и вернуть указатель. Удаляться память потом будет, когда данные станут не нужны (знаю, что плохо).
C++
1
2
3
4
void* RetData = new BYTE(Item.Size);
SetFilePointer(hFile, Item.Offset, 0, FILE_BEGIN);
ReadFile(hFile, RetData, Item.Size, &FileSizeHigh, 0);
return &RetData;
Ругается: warning C4172: возвращение адреса локальной или временной переменной. Может я чего-то не так делаю? Вообще это работать будет? Или ругань компилятора отключить или как сделать нормально? Подскажите, плиз.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2017, 13:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Возвращение адреса локальной переменной (C++):

Возвращение адреса. Не много не до понял - C++
Задание: Напишите функцию, которая находит минимальное значение в массиве, таким образом, чтобы ее вызов можно было использовать слева от...

Возвращение адреса на элемент структуры - C++
Здравствуйте. У меня в классе есть структура. Может ли метод класса возвращать указатель на элемент структуры? Если да, то как?

Возвращение переменной из функции по значению - C++
подумал тут: а почему компилируется сие? std::map<std::string, std::size_t> funk_s_() { std::map<std::string, std::size_t> words;...

Использование неинициализированной локальной переменной - C++
#include <iostream> #include <conio.h> #include <math.h> using namespace std; ...

Создание новой локальной переменной - C++
Когда мы приводим переменную к другому типу, ВСЕГДА СОЗДАЕТСЯ новая локальная временная переменная этого типа? enum class NUMBERS{ONE,...

Вывод адреса переменной типа char - C++
Всем привет! Хочу задать вопрос... есть код: #include <iostream> int main() { char ch = 'h'; char* p = &ch;

3
likehood
930 / 789 / 273
Регистрация: 25.12.2016
Сообщений: 2,627
Завершенные тесты: 3
29.01.2017, 13:40 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Очевидно, нужно возвращать указатель RetData, а не его адрес:
C++
1
return RetData;
1
Fedor666
Основоположник на всё
42 / 42 / 4
Регистрация: 22.02.2010
Сообщений: 311
29.01.2017, 13:43  [ТС] #3
likehood, А, блин, у меня ссылка на адрес получилась! Спасибо! Устал - хватит на сегодня!
0
likehood
930 / 789 / 273
Регистрация: 25.12.2016
Сообщений: 2,627
Завершенные тесты: 3
29.01.2017, 13:51 #4
Цитата Сообщение от Fedor666 Посмотреть сообщение
у меня ссылка на адрес получилась
Точнее, указатель на указатель, то есть двойной указатель.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2017, 13:51
Привет! Вот еще темы с ответами:

Разрушение стека около локальной переменной - C++
В функции имеется такая строка char target=""; Все работает хорошо, но при выходе из подпрограммы пишет "Stack around the variable...

Бесконечные адреса одной переменной. МоСК кипит... - C++
#include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; int main() { int * pAddressOne; int *...

Взятие адреса у константной переменной при объявлении - C++
Можно пример?

Получить доступ к локальной переменной другой функции - C++
Что не так?Можно ли тут обойтись без указателя? #include <iostream> using namespace std; int a = 0; void m(void) { extern int b;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru