Я хотел бы выполнить проверку времени компиляции размеров типоразмеров в проекте C/С++ и ошибку при непредвиденных несоответствиях. Простой
#if sizeof foo_t != sizeof bar_t
не компилируется - утверждает, что sizeof не является правильной константой времени компиляции.
Требуемый объем платформ - по крайней мере Visual С++ с Win32/64 и GCC на x86/amd64.
EDIT: время компиляции, не обязательно препроцессор. Просто не ошибка времени выполнения.
EDIT2: код предполагает, что wchar_t
составляет 2 байта. Я хочу ошибку компиляции, если она случайно скомпилирована с 4-байтовыми wchar's.