私は迷路構造を保持するためにMaze、MazeRow、MazePointsの3つのクラスを構築していますが、私はMazeRowsのベクターをセットアップすることに問題があります。以下のコードはMazeクラスのコードです。私はMazeRow用の私のヘッダーファイルを含めました。私はそれぞれベクトルメソッドを呼び出す3つのエラーが発生しています。またmyMazeRowsは迷路のプライベートメンバ変数はクラスなぜこのエラーが発生するのですか? 'method'の左側にclass/struct/unionが必要ですか?
//Maze Header File
#include "MazeRow.h"
#include <vector>
using namespace std;
namespace MazeSolver
{
class Maze
{
public:
Maze(int rows, int columns);
MazeRow * getRow(int row);
private:
vector<MazeRow> myMazeRows();
//Maze Implementation File
#include "stdafx.h"
#include "Maze.h"
#include <vector>
using namespace std;
using namespace MazeSolver;
Maze::Maze(int rows, int columns)
{
//Recieving the Compile Error (C2228)
myMazeRows.resize(rows);
//Initializing Each Row
for(int i=0; i< rows;i++) //Recieving the Compile Error (C2228)
myMazeRows.push_back(MazeRow(i,columns));
}
MazeRow* Maze::getRow(int row)
{
//Recieving the Compile Error (C2228)
return &myMazeRows.at(row);
}
//Maze Row Header File
class MazeRow
{
public:
MazeRow(int rowNum, vector<MazePoint>);
MazeRow(int rowNum, int mazPoints);
エラーを示す線はどれですか? *実際のエラーメッセージ(コピー&ペースト)とは何ですか?また、 'myMazeRows'の実際の定義を表示してください。 –
正しい#インクルードがありますか? – Benoir
'myMazeRows'の宣言を表示すると助けになるかもしれません。 @Benoirが暗示しているように、 '#include'ステートメントも表示することができます。 – aldo