Обнаружил, что препроцессор (MSVC, GCC и Comeau) почему-то не раскрывает М в таком вот коде: Код (Text): #define M 1 float f = 0.M; В Стандарте ничего подобного не нахожу...
Точка же часть числа. Такое вот тоже работать не будет, например: Код (Text): #define M .1 float f = 0M;
n0name AFAIK, препроцессор оперирует только целыми числами. Код (Text): 0M просто не будет разбит на токены, согласно Стандарту.
n0name Спасибо. Действительно, выходит, препроцессор распознаёт флоаты... Всегда думал, что нет, т.к. использовать в выражениях, вычисляемых препроцессором, можно только целые числа.