このようなC++ファイルがあります
#ifndef _MOVE_H
#define _MOVE_H
class Move {
int x, y;
public:
Move(int initX = 0, int initY = 0) : x(initX), y(initY) {}
int getX() { return x; }
void setX(int newX) { x = newX; }
int getY() { return y; }
void setY(int newY) { y = newY; }
};
#endif
そして驚いたことに、#ifndef
との間のすべてのコード#endif
はコンパイラによって単純に無視され (_MOVE_H
他の場所で定義していないことを誓います)、定義の欠落に関するあらゆる種類のエラーが発生します。私は何か間違ったことをしたと思っていましたが、別のキーを使用しようとすると ( のよう_MOVE_Ha
に、すべてが正常に戻りまし_MOVE_H
た。C++ で何か特別なことを意味しますか?
問題があれば、Ubuntu 10.04、GCC 4.4.3 を実行しています。
ありがとう、