LINUX.ORG.RU

История изменений

Исправление Iron_Bug, (текущая версия) :

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

в С11 завезли дженерики. я не видела в них особой ценности: обходились без них и никто не умер. но можно придумать юзкейсы аналогичные твоему, наверное.

Исходная версия Iron_Bug, :

потому что это не макрос. препроцессор - это не логическая конструкция языка. а ты хочешь второе, но пытаешься зачем-то засунуть это в препроцессор. мне трудно представить, зачем такой ifdef может быть нужен.

в С11 завезли дженерики. я не видела в них особой ценности: обходились без них и никто не умер. но можно придумать юзкейсы аналогичные твоему, наверное.