У меня есть файл 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 ++?
Я использую Ubuntu10.04, GCC 4.4.3, если это имеет значение.
Спасибо,