Читать книгу Ссылки и указатели в C++: от основ к безопасности и современному коду - - Страница 82
НА ЗАМЕТКУ
ОглавлениеСогласно стандарту языка C++, sizeof(void) не определён, и его использование приводит к ошибке компиляции; однако некоторые компиляторы (например, GCC в режиме расширений) могут допускать sizeof(void) == 1 как расширение, но это не соответствует стандарту. Тип void не имеет размера, поскольку не может быть инстанцирован, и утверждение о его «бесконечности» некорректно – это просто неполный тип, не предназначенный для создания объектов. Применение оператора sizeof к функциям действительно является ошибкой компиляции, так как функции не имеют размера в смысле объектов памяти.