模板类型的值,如 std::false_type
The value of template type like std::false_type
如果std::false_type
是一个类型,这个类型的有效值是什么? 如果我只想实现如下所示的函数,其返回类型为std::false_type
,我该如何实现?
typename std::false_type operator()(){
return declval<std::false_type>();
}
std::false_type
唯一可以拥有的值是默认构造的值。它是一个没有非静态数据成员和用户定义构造函数的类类型。
std::false_type operator()(){
return {};
}
按照评论中的建议尝试return std::false_type{};
或return {};
。
相关文章:
- std::is_class 在引用类上为 false
- 为什么 std::isnan() 对于具有 NAN 值的双变量返回 false
- std::is_array 当它应该返回 false 时返回 true
- 什么类型会使"std::has_unique_object_representations"返回 false?
- 使用std :: functional vs2015中的false阳性错误
- std :: is_member_function_pointer如果false不会编译
- std::is_arithmetic 为通用 lambda 中的 int 类型返回 false:未定义的行为?
- 为什么 'std::is_constructible_v<int[2], int, int> == false'
- std::is_same<A,B>::value == 第 1 行为 true,第 2 行为 false
- 为什么std :: iS_array返回false for sTD ::数组
- 当参数相等时,为什么必须std :: sort比较函数返回false
- 为什么STD :: IS_FUNCTION返回false以获取简单功能和lambdas
- 为什么子类的std::is_same为false
- std::vector<bool> a (b, false); 在 C# 中
- 移动后是否应该 std::function::运算符布尔值返回 false
- std::logic_error 而不是返回 false
- 在取消引用的函数指针上使用时,std::is_function的求值结果为何为false
- 将 true/false 分配给 std::string:这是怎么回事?
- 为什么std::vector使用move构造函数,尽管声明为noexcept(false)
- MSVC 2013 'type' : 不是 'std::enable_if<false,void> 的成员