c++ - 如何实例化模板的模板

标签 c++ templates instantiation

我有这样的模板:

100 template<size_t A0, size_t A1, size_t A2, size_t A3>
101 struct mask {
103     template<size_t B0, size_t B1, size_t B2, size_t B3>
104     struct compare {
105         static const bool value = (A0 == B0 && A1 == B1 && A2 == B2 && A3 == B3);
106     };
107 };
...
120 const typename boost::enable_if_c<
121 mask<a,b,c,d>::compare<2,3,0,1>::value || ...>::type

我正在尝试实例化比较结构。我如何获取第 121 行的值?

最佳答案

比较前你可能需要模板:

120 const typename boost::enable_if_c<
121 mask<a,b,c,d>::template compare<2,3,0,1>::value || ...>::type

关于c++ - 如何实例化模板的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614836/

相关文章:

c++ - 如何隐藏实现帮助模板?

c++ - 错误 : nested class in a nested class in a template class "is not a type"

c++ - std::enable_if 在 Visual Studio 2013 中没有按预期工作

c# - 实例化数组并一次实例化每个成员

class - 在 Dart 中,当存储在变量中时如何使用 `class` ?

java - 继承:对象创建

c++ - 两台机器之间时间戳的最佳 C++ 计时函数是什么

c++ - 释放动态内存

c++ - 我应该将 Vector<> 声明为 Vector<>* 吗?

ruby-on-rails - 如何将 slim 用于邮件文本模板