Типизирование шаблона возвращает значение функции - PullRequest
1 голос
/ 21 апреля 2011

У меня есть функция шаблона. Эта функция возвращает тот же тип шаблона. Пример: он принимает переменную типа T и возвращает переменную типа T Теперь я могу привести переменную типа T к типу возврата, используя статическое приведение к Uint32. Будут ли получены ошибки

1 Ответ

7 голосов
/ 21 апреля 2011

Насколько я понимаю, у вас есть функция, которая выглядит как

template <class T>
T noop (T a) {
  return a;
}

, и вы хотите привести ее результат

uint32 i = static_cast<uint32>(noop(val));

Это будет успешно, если val имееттип, который может быть приведен к uint32 и потерпеть неудачу, если это не так.

uint32 i = static_cast<uint32>(noop(uint32(0))); // ok
uint32 i = static_cast<uint32>(noop("asdf")); // not-ok
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...