Когда я слышу подобное, всегда прошу свидетелей чистого и кошерного повторить на нём вот такую задачу (типичная, кстати, задача для микроконтроллеров). Почему-то никто ни разу не сподобился.
Может, Вы проведёте мастер-класс?
P.S.Кстати, тот код живёт и используется, периодически немного меняется. Живёт он, на сегодня, здесь.
Я никого не защищаю, но в чём проблема эту задачу решить препроцессору, который присутствует что в Си, что в С++. Пример.
В 32 ошибка копи-паста.
Для невозможности получения заданной частоты ставится ещё один #else с предупреждением.
К чему? Ну так вы же считаете что только на плюсах всё делается. С подколами.
Смотрим оригинальное сообщение, там про реализацию на Си прямо сказано: «я вовсе не говорю, что это невозможно. Возможно, конечно (я – точно смогу ) »
Никогда я не говорил, что это возможно только на плюсе.
Я говорил, что из тех, кто громко кричит, что плюсы не нужны и некошерны, никто этой задачи ещё пока не сделал. Так Вы это и не опровергли – Вы ничего такого не кричали
Кстати, я бы делал по-другому, я бы делал макросы примерно как у Вас, но через тернарные операции выдавал бы сразу голимое число для его присваивания куда надо. Т.е. в итоге бы писал типа
Это если исправить ошибку в 32-ой строке, Вы её наверное исправили. А в стартовом посте там 500 вместо FREQ1 и ничего, в итоге, не верно – выдаётся предупреждение и считается чё попало.
Но, это Бог с ним, исправится, подход-то правильный.
Это да. Просто в таком виде, если надо посчитать две разных частоты, там нужны дополнительные телодвижения, а если всё оформить функциональным макросом, то можно сколько угодно считать.
Да, нет, всё классно. Никто никогда не говорил, что это невозможно. На плюсе проще и естественнее (а с шаблонами, так и вообще, “само ложится”), но и здесь можно. Только не так, как в той теме поциент в бреду нёс. Вот как только человек презирает один язык и молится на другой – сто пудов не знает ни того, ни другого. Помнится один ярый фанат “святого асма” убеждал меня, что в нём нет никаких структур. Ткнул носом прямо в ключевое слово struct – стандартный ответ “это другое”.