Страницы

Поиск по вопросам

вторник, 12 февраля 2019 г.

Как создать шаблонный алиас?

Хочу сделать проверку типа итератора каким-то таким способом:
template using is = std::is_same::iterator_category, T>::value;
И потом использовать это дело в ассертах (RanIt - шаблонный тип):
static_assert(is, "random access required");
Что делаю не так?


Ответ

Либо замените using на constexpr bool, либо уберите из определения ::value и перенесите его в место проверки.
using - не константа, а алиас. Может быть синонимом типа, внутри которого определена константа value, но сам не может быть константой.

Комментариев нет:

Отправить комментарий