Я пытаюсь скомпилировать этот код, но g++ жалуется на ZERO
с неполным типом. Означает ли это, что в С++ структура не может содержать экземпляр static constexpr
самого себя? Если да, то почему?
struct Cursor
{
size_t row,column;
static constexpr Cursor ZERO {0,0};
//error: constexpr const Cursor Cursor::ZERO has incomplete type
};
EDIT: Я понимаю, что Cursor
не может иметь полный тип, когда я объявляю ZERO
. Я хотел бы знать: есть ли способ, которым я могу иметь ZERO
, принадлежащий Cursor
и все еще являющийся constexpr
?