模板类默认浮点参数
template class default float parameter
我正在尝试定义一个取决于 <typename T, const double
和 std::size_t>
的类模板。我知道在C 14不可能在模板中声明Double类型的默认参数之前,但是我在某个地方读到了现在的可能性,但我不知道如何。我试图在这里和Goolge索引研究,但我没有找到我希望完成的工作:
template <typename Type, double threshold = 0.5 , std::size_t Sz = 64>
class DynBmatrix
{
constexpr DynBmatrix(std::vector<std::vector<Type>> ) noexcept ;
}
template<typename T, double TH,std::size_t S>
class DynBmatrix<T,TH,S>
{
if (something > TH)
...
}
,在主要实例中,模板仅为
DynBmatrix<int> dbm{} ;
edit :解决为folow:谢谢@marco
constexpr double th = 0.5 ;
template <typename Type, const double* TH = &th , std::size_t Sz = 64>
使用: const double* TH
代替 double TH
并在班级外定义 constexpr double th = 0.5 ;
,然后获得相同的行为
相关文章:
- 使函数参数默认为周围范围
- 如何将值传递给其参数(默认参数)
- 当“std::make_index_sequence”和“std::index_sequence”用于模板参数默认类型时
- C ,构造器中允许的参考参数默认值
- 哪些规则控制参数默认赋值?
- 错误:上一个规范后给出的参数默认参数
- 是否可以设计一个包含模板参数默认值的类
- 构造函数中参数C++默认值
- 如何设置依赖于其他参数的参数默认值
- C++模板参数默认函数实现
- QInput对话框参数默认值
- g++4.8.2上列表方法参数默认初始化时出错
- 在函数定义中指定参数默认值会导致错误 C2143:语法错误:'='之前缺少')'
- 函数模板:将第一个模板参数默认为第二个
- 模板模板参数默认可以引用其他模板类型的参数
- 参数默认为先例参数的值
- 如何修改一个类,使它只有一个成员函数,所有参数默认
- 内置类型的模板参数默认值
- 是否可以使用构造函数或对象作为其他类方法的参数默认值?
- 模板参数默认为更高版本