0

もともと私のコードは次のとおりでした:

#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。識別子の前に余分な数字があるとエラーになるのはなぜですか?

4

2 に答える 2

3

識別子を数字で始めることは許可されていないためです。2.11 Identifiersこれは、現在の C++ 11 標準、具体的には構文セクションでカバーされています。

identifier:
    identifier-nondigit               # No digit allowed at front here.
    identifier identifier-nondigit    # Nor here.
    identifier digit                  # Nor here.
于 2013-03-15T06:12:15.360 に答える
3
#ifndef 2DO_H

いや。

#ifndef TODO_H

代わりは。識別子を数字で始めることはできません。

于 2013-03-15T06:12:40.530 に答える