Ошибка: #if [n] def ожидал идентификатор

Первоначально мой код был:

#ifndef 2DO_H
#define 2DO_H
int ReadNumber();
void WriteAnswer(int Nsumber1, int Number2);
#endif

Однако я получил ошибку #if[n]def expected an identifier, Поэтому я поиграл с этим и понял, что моя ошибка была в 2DO_H, Когда я изменил свой код на:

#ifndef DO_H
#define DO_H
int ReadNumber();
void WriteAnswer(int Nsumber1, int Number2);
#endif

Это работало в вышеупомянутом случае, потому что я изменил 2DO_H в DO_H, Почему, когда у меня есть дополнительный номер перед идентификатором, я получаю сообщение об ошибке?

0

Решение

Потому что идентификаторы не могут начинаться с цифры. Это покрыто 2.11 Identifiers текущего стандарта C ++ 11, в частности раздел синтаксиса:

identifier:
identifier-nondigit               # No digit allowed at front here.
identifier identifier-nondigit    # Nor here.
identifier digit                  # Nor here.
3

Другие решения

#ifndef 2DO_H

Неа.

#ifndef TODO_H

вместо. Идентификатор не может начинаться с цифры.

3

По вопросам рекламы [email protected]