如何使用函数指针作为参数初始化模板的静态成员

时间:2014-02-04 11:22:07

标签: c++ templates

template <typename X, typename Y, Y X::*Member>
struct util
{
   static const double shared_value;
};

template <typename X, typename Y, Y X::*Member>
const double util<X, Y, Y X::*Member>::shared_value = 1;   // This line cannot compile.

如何使用函数指针作为参数初始化模板的静态成员?感谢。

1 个答案:

答案 0 :(得分:0)

在C ++ 11中你可以做到

template <typename X, typename Y, Y X::*Member>
struct util
{
   static constexpr double shared_value = 1;
};