Re[7]: std::variant для вложенного класса
От: rg45 СССР  
Дата: 04.12.25 15:07
Оценка:
Здравствуйте, vopl, Вы писали:

R>>Вот если бы ещё получить ссылку на соответствующий пункт стандарта, было бы совсем здорово.


V>https://timsong-cpp.github.io/cppwp/class.mem.general#note-4


А как тогда объяснить это:

https://godbolt.org/z/oPo3o5ME7

struct D
{
    struct FService
    {
        int  nFService_ = 0;
    };
    static_assert(sizeof(FService) != 0);  // OK
    static_assert(std::default_initializable<FService>); // static assertion failed
};


Выходит, класс "достаточно полный" для sizeof, но недостаточно полный для того, чтобы понять, что он default infitializable. Это как так?
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.