Wie Zugriff auf eine Variable oder Typedef in einer Kopfzeile von einer Methode? Es scheint, dass die Typedef nicht global ist, obwohl ich die Header-Datei enthalten, warum?Mehrere Header, wie Funktion für Objekt
Ich habe folgende Situation:
Snake.h
#ifndef SNAKE_H
#define SNAKE_H
#include <utility>
class Snake {
public:
Snake(int difficulty, int posX, int posY) : difficulty(difficulty) {
position.first = posX;
position.second = posY;
}
inline std::pair<int,int> const getPosition() {
return position;
}
private:
typedef std::pair<int, int> Point;
Point position;
};
#endif // !Snake.h
Movement.cpp
#include "Movement.h"
#include "Snake.h"
Snake moveDown() {
Point dummy = SnakeObject.getPosition();
return .....;
}
Jetzt offensichtlich dies nicht kompiliert, da Sachen fehlen, aber der Compiler erkennt den Point-Typ in der Movement.cpp-Datei nicht. Benötige ich auch einen Snake-Zeiger im Movement.h, damit ich das snake-Objekt verwenden kann, um getPosition aufzurufen?
Es tut mir leid für die vage Beschreibung, auch Ihre Hilfe wird sehr geschätzt.
Schau dir an, in welchem Umfang du deinen 'typedef' definiert hast. – Rakete1111