-1

私はC++を使い始めたばかりなので、この質問はおそらく初歩的な質問になるでしょう。しかし、私は自分が間違っていることを見つけることができません。私が取り組んでいるプロジェクトは学校の課題です。この割り当てでは、生のポインターのみを使用することが許可されているため、生のポインターがどのように機能するかを調べます。

今、これらの生のポインタは私にいくつかの問題を引き起こしました. これらのポインターは、「"Room" から "Room *" への適切な変換関数が存在しません」というエラーを出しました。

このエラーがどのように発生したかを説明するために、私が書いたコードの簡素化されたバージョンを提供しようとします。

class Level
{
private:
    Room _startRoom;
    vector<vector<Room>> _rooms;
};

class Room
{
public:
    Room *North;
    Room *East;
    Room *South;
    Room *West;
};

Level という名前のクラスがあります。これは、部屋を並べてきれいに印刷できるように、ベクトル内にベクトルを持つクラスです。すべての部屋が接続されているわけではないので、他の部屋との接続のために Room direction-properties を与えました。しかし、_rooms[y][x].South を _rooms[y+1][x] に設定して、部屋間の接続を生成しようとすると、. 「"Room" から "Room *" への適切な変換関数が存在しません」というエラーが表示されました。

このエラー メッセージが表示される理由を説明してもらえますか? すべての助けをいただければ幸いです。

4

1 に答える 1