У меня ошибка в #define, в которой я хочу определить цикл таким образом:
#define loop for (;;)
Но при компиляции я получаю ошибку
util.h:39:29: error: expected ', or '... before 'for #define loop for (;;)
Любая идея, почему это может быть?
Ваш вопрос не содержит достаточной информации, чтобы найти проблему. Вероятно, проблема связана с конфликтом с чем-то другим, возможно, еще одним #define
в вашем коде. Само сообщение об ошибке указывает, что компилятор считает, что он анализирует объявление списка аргументов, когда он читает токен for
.
Вам нужно будет опубликовать небольшую, полную, автономную программу, демонстрирующую проблему.
Серьезно, каждый, кто обнаруживает #define
в классе программирования C, думает, что они действительно умны и теперь могут создавать свои собственные языковые конструкции. В каждом случае это действительно плохая идея, потому что это делает код намного сложнее читать с нулевой реальной выгодой. Если вам нужен бесконечный цикл, просто напишите for(;;)
и сделайте с ним.
#define
?
Я думаю, что приведенная ниже ссылка сделает работу для вас. Http://www.cplusplus.com/forum/lounge/33524/