Хорошо, обыскав себя до полусмерти и не найдя никакого ответа, который, казалось, действительно работал, я должен спросить:
Скажем, у меня есть класс (надуманный пример, но, надеюсь, достаточно хороший на данный момент)
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 войдет в игру.