Форум программистов, компьютерный форум CyberForum.ru

Функция возвращает объект - C++

Восстановить пароль Регистрация
 
NIch
 Аватар для NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
01.12.2012, 15:59     Функция возвращает объект #1
Доброго времени суток!

Как сделать, чтобы функция возвращала объект, ну или указатель на объект.

Использую так:
C++
1
Image->Picture = Transform(Image->Picture);
Объявляю так:
C++
1
TPicture Transform (TPicture *Pict);
Ругается так:
C++
1
Cannot convert 'TPicture' to 'TPicture*'
Перепробовал разные комбинации символов * и &, при использовании и объявлении.
Выскакивают разные ошибки, только не то, что мне нужно.
Поясните пожалуйста в каком направлении копать применение указателей в функциях.

Не по теме:

В делфи все по другому, при изучении c++ сталкиваюсь с непонятками.



Добавлено через 48 минут
Ага...
Если я объявляю, перед использованием, так:

C++
1
2
3
4
TPicture *Transform (TPicture *Dst){
  // Тело
  return Dst;
}
То, все нормально.

Вопрос: Как правильно вынести функцию Transform в другой модуль, т.е. как объявить в файле *.h и файле *.cpp?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 15:59     Функция возвращает объект
Посмотрите здесь:

Функция не возвращает результат=( C++
C++ Классы. Не возвращает найденный объект.
C++ Функция get() не возвращает значение
C++ Функция возвращает структуру
Функция не возвращает false C++
Функция возвращает auto C++
Функция не возвращает значение C++
Функция не возвращает значение C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
01.12.2012, 18:09     Функция возвращает объект #2
объявление в .h
реализацию в .cpp
NIch
 Аватар для NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
02.12.2012, 22:18  [ТС]     Функция возвращает объект #3
Спасибо, с эти разобрался.

Появилась еще одна проблема. Подобных вопросов нашел в сети уйму, но все равно ума не приложу как поправить.

После использования в коде
C++
1
fread(&N_L, sizeof(unsigned long), beg_L, SrcData);
после закрытия программы возникает ошибка "Invalid Pointer Operation", т.е. функция отрабатывает, но вот при закрытии...

Доп информация:
C++
1
2
3
4
5
6
7
8
// Файл
FILE *SrcData;
// Куда читаю
unsigned long N_L;
// Сначала открываю файл
SrcData = fopen(AFileName_Src.c_str(), "rb");
// Потом закрываю
fclose (SrcData);
На, что программа может ругаться? Подозреваю, что на утечку памяти, но как отследить ее?
Yandex
Объявления
02.12.2012, 22:18     Функция возвращает объект
Ответ Создать тему
Опции темы

Текущее время: 02:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru