メソッドのヘッダーにある変数またはtypedefにアクセスするにはどうすればよいですか?ヘッダファイルをインクルードしてもtypedefがグローバルではないようですが、なぜですか?複数のヘッダー、オブジェクトの関数の使い方
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 .....;
}
今、明らかに欠けているものがあるので、これはコンパイルされませんが、コンパイラ:
私は、次のような状況を持っていますMovement.cppファイルのPoint型を認識できません。 また、Movement.hにSnakeポインタが必要なので、snakeオブジェクトを使用してgetPositionを呼び出すことはできますか?
曖昧な説明には申し訳ありませんが、あなたのご協力も大変ありがとうございます。
あなたが 'typedef'を定義したスコープを見てください。 – Rakete1111