私は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 *" への適切な変換関数が存在しません」というエラーが表示されました。
このエラー メッセージが表示される理由を説明してもらえますか? すべての助けをいただければ幸いです。