Helldrg
26 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,144
|
||||||
#1 | ||||||
Как передать адрес объекта через функцию - C++14.07.2015, 07:40. Просмотров 516. Ответов 6
Метки нет Все метки)
(
Здравствуйте! Надеюсь я правильно сформулировал вопрос, хотелось бы узнать как такое реализовать:
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
14.07.2015, 07:40 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как передать адрес объекта через функцию (C++):
6
Функция возвращает адрес , как передать этот адрес другой функции ? - C++ Как передать указатель на функцию через метод класса ? - C++ Доступ к приватному полю через адрес экземпляра объекта - C++ Адрес объекта, адрес указателя. Где что находится? - C++ Как правильно вызывать функцию объекта из другой функции того же объекта? - C++
|
Black Fregat
2360 / 1175 / 285
Регистрация: 31.05.2009
Сообщений: 4,686
|
||||||
14.07.2015, 08:03 | #2 | |||||
Через временную переменную
1
|
Helldrg
26 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,144
|
|
14.07.2015, 08:09 [ТС] | #3 |
Black Fregat
А через функцию, которая возвращает указатель на объект, нельзя?
0
|
Pancir
57 / 44 / 10
Регистрация: 16.09.2014
Сообщений: 124
|
||||||
14.07.2015, 08:26 | #4 | |||||
0
|
mporro
256 / 101 / 14
Регистрация: 04.07.2014
Сообщений: 571
|
|
14.07.2015, 08:59 | #5 |
![]()
Helldrg, дело в том, что функция GetObj() возвращает Вам временный объект ID3D11Buffer*, который будет уничтожен при завершении работы функции. Компилятор разумно ограничивает возможные действия над таким объектом. В частности, брать от такого объекта адрес бессмысленно, потому что практически моментально указатель окажется висячим. Фактически, всё, что Вы можете сделать с объектом, который возвращает функция -- скопировать во внешний по отношению к функции контекст. В данном случае -- скопировать указатель ID3D11Buffer*. И уже от копии, которая будет жить долго, Вы можете взять адрес.
0
|
Pancir
57 / 44 / 10
Регистрация: 16.09.2014
Сообщений: 124
|
|
14.07.2015, 09:13 | #6 |
Блин, сори мой ответ не верный, я не заметил, что в комментарии дан тип аргумента и решил с играть в Вангу и проиграл )
0
|
Helldrg
26 / 55 / 1
Регистрация: 10.01.2011
Сообщений: 1,144
|
|
14.07.2015, 09:14 [ТС] | #7 |
mporro
Ваууу, доступно объяснили, спасибо!!! Добавлено через 25 секунд Pancir бывает =)
0
|
14.07.2015, 09:14 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
14.07.2015, 09:14 |
Привет! Вот еще темы с ответами:
7
Передать строку через функцию. - C++ Как получить полный адрес по имени поля объекта класса - C++
Можно ли передать в функцию две переменных через 1 какую-нибудь конструкцию? - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |