Значение типа шаблона, например, std :: false_type - PullRequest
0 голосов
/ 03 мая 2018

Если std::false_type является типом, какое допустимое значение для этого типа? Если я просто хочу реализовать функцию, подобную приведенной ниже, с типом возвращаемого значения std::false_type, как я могу добиться этого?

typename std::false_type operator()(){
   return declval<std::false_type>();
}

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Единственное значение, которое может иметь std::false_type, это значение по умолчанию. Это тип класса без нестатических членов данных и без определяемого пользователем конструктора.

std::false_type operator()(){
    return {};
}
0 голосов
/ 03 мая 2018

Попробуйте return std::false_type{}; или return {};, как указано в комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...