1
編集:私は愚かで、私はそれを割り当てませんでした。助けてくれてありがとう!
これは私自身が終わったと思っていたエラーですが、それはまだ戻っています。なぜそれが起こっているのかわかりません。サイズ4の初期化されていない値の使用
ここでエラーに先立つ.Cファイルからコードです:
int main(int argc, char* argv[])
{
if(argc > 3)
{
cout << "Too many arguments. Program will close.\n";
return 1;
}
else
{
int numRooms = 0;
int start = 0;
ifstream file;
if(argc == 3)//Dump wanted
file.open(argv[ 2 ] , ifstream::in);
else
file.open(argv[ 1 ] , ifstream::in);
if(file.is_open())
{
file >> numRooms;
Graph * maze = new Graph(numRooms);
グラフ*迷路=新しいグラフ(numRoomsが)。エラーが(:41 a11.C):参照されているところがある
==17900== Use of uninitialised value of size 4
==17900== at 0x8048F05: Graph::Graph(int) (Graph.C:25)
==17900== by 0x8048C1D: main (a11.C:41)
ここからはライン16、Graph.Cファイルに、より深く掘り下げ - 30:
Graph::Graph(int num)
{
numRooms = num;
_index = 0;
_start = 0;
easyDelete = new Room*[ num ];
escapePath = new string[ num ];
theWALL -> myNumber = -1;
theWALL -> visited = true;
safety -> myNumber = 0;
safety -> visited = false;
}
ライン25これはです:theWALL - > myNumber = -1;
"theWALL" と "安全性" の両方のプライベート*ルームオブジェクトです:
struct Room
{
bool visited;
int myNumber;
Room *North;
Room *East;
Room *South;
Room *West;
};
とき、私それがアップ初期化されています:構造体 "ルーム" は、このようになります
Private:
Room * theWALL;
Room * safety;
新しいグラフ(numRooms)を呼び出すと、その情報を埋めています...まだこのエラーが発生します。
ありがとう、私は新しい**それは愚かなものでした。 – Joshua