【发布时间】:2020-10-07 19:45:42
【问题描述】:
好吧,在半死不活地搜索自己并没有找到任何实际上似乎有效的答案之后,我得问:
假设我有一门课(人为的例子,但希望现在已经足够好了)
template <typename T, std::enable_if_t< MyConditional<T>::value >>
class MyClass
{
public:
static const MyClass ZeroInited;
MyClass(int x, int y)
: m_X(x)
, m_Y(Y)
{
}
...
};
如何正确初始化ZeroInited*?正确的语法只是让我无法理解(或者我可能只是太累了),并且让工具“创建实现”也不会产生正确的输出。这是
谢谢大家!
*) PS:在模板化的情况下,不是专门化的。如果我省略 enable_if_t 很容易:
template <typename T> const MyClass<T> MyClass<T>::ZeroInited {0, 0};
但我不知道一旦 enable_if_t 起作用后如何更改它。
【问题讨论】:
标签: c++ templates initialization enable-if