История изменений
Исправление Iron_Bug, (текущая версия) :
потому что это не макрос. препроцессор - это не логическая конструкция языка. а ты хочешь второе, но пытаешься зачем-то засунуть это в препроцессор. мне трудно представить, зачем такой ifdef может быть нужен. если ты напишешь if(sizeof(typename)==const_x), то компилятор просто поставит условие в тру и выкинет код другой ветки. разницы никакой.
в С11 завезли дженерики. я не видела в них особой ценности: обходились без них и никто не умер. но можно придумать юзкейсы аналогичные твоему, наверное.
Исходная версия Iron_Bug, :
потому что это не макрос. препроцессор - это не логическая конструкция языка. а ты хочешь второе, но пытаешься зачем-то засунуть это в препроцессор. мне трудно представить, зачем такой ifdef может быть нужен.
в С11 завезли дженерики. я не видела в них особой ценности: обходились без них и никто не умер. но можно придумать юзкейсы аналогичные твоему, наверное.