Здравствуйте, 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. Это как так?