0

ヘッダー 1: fml32.h

#ifndef TMENV_H
#include <tmenv.h>
#endif

_TMIFML32 extern        char    *Femsgs32[];

ヘッダー 2 : tmenv.h

#ifndef TMENV_H
#define TMENV_H 1

#define _TMIFML32
#endif

「fml32.h」を含む .cpp ファイルをコンパイルしようとしています。fml32.h から次のようなエラーがスローされます。

error: '_TMIFML32' does not name a type

TMENV_H はどこにも定義されていません。コントロールが到達していないのではないかと疑っていたので、ヘッダー 2 からコメント#ifndef TMENV_Hしてみました。しかし、それでも同じエラーです。誰でもこれについて助けることができますか?本当に感謝します。endif#define _TMIFML32

4

1 に答える 1

0

ローカル ディレクトリにある場合は、ヘッダー名を "" ("localheader.h") で囲むようにしてください。(もちろん、これはコメントである必要があります)。


ところで、cppreferenceによると:

  • アンダースコアが 2 つある識別子は予約されています。
  • アンダースコアで始まり、大文字が続く識別子は予約されています。
  • アンダースコアで始まる識別子は、グローバル名前空間で予約されています。
于 2016-12-16T12:52:01.000 に答える