Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2016, 02:13   #1
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию Непонятное объявление возвращаемого типа

Читаю исходники Unreal Engine и натыкаюсь на вот такое объявление метода:
Код:
class ENGINE_API ACharacter : public APawn
{
// много кода
//....
class UCapsuleComponent* GetCapsuleComponent() const;
}
ENGINE_API - директива для препроцессора UE4, это понятно.

А вот что такое class UCapsuleComponent* в качестве возвращаемого типа как-то не понимаю и не представляю, как это гуглить.

Реализация метода такая, и она тоже как-то ничего не даёт для понимания:
Код:
FORCEINLINE UCapsuleComponent* ACharacter::GetCapsuleComponent() const { return CapsuleComponent; }
Возвращаемое поле тоже так записано:
Код:
class UCapsuleComponent* CapsuleComponent;

Соответственно, такой вопрос: что эта запись означает?
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 06.10.2016, 02:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если в классе есть поле с именем UCapsuleComponent.
такого типа объявление говорит компилятору игнорировать это поле, и искать именно тип с таким именем.

нагуглил тут
http://stackoverflow.com/questions/2...-return-type-c
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.10.2016, 03:25   #3
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Спасибо.

Вот этот пример всё проясняет:
Код:
int SomeClass; //SomeClass is declared to be variable here

class SomeClass* GetSomeClass()
{
  return _instanceOfSomeClass;
}
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение типа переменной и объявление функции spectrum988 Помощь студентам 8 20.04.2014 22:27
Объявление типа Sergey S Общие вопросы C/C++ 2 02.02.2012 13:48
непонятное объявление переменной monolit111 Общие вопросы C/C++ 5 08.10.2011 20:34
Объявление 32-х битного типа не удается. Alex Cones Паскаль, Turbo Pascal, PascalABC.NET 18 16.02.2010 00:12
Непонятное поведение типа J-Max Общие вопросы Delphi 12 10.02.2010 17:15