struct Vertex{
int num;
int low;
bool seen;
Vertex *parent;
Vertex(){
num = 0; low = 0; seen = false; parent = NULL;
}
};
這是結構體。問題是當我試圖創建一個類型爲Vertex的數組時,調試器指出它是非指針類的類型。這是我聲明它的方式:創建類型結構體的指針陣列
Vertex *mark;
mark = new Vertex[numVert];
(標記在類中聲明並且賦值在默認構造函數中完成)。
我已經聲明過像這樣的指針數組。它現在不起作用的原因是什麼?
Graph::Graph(int v){
int i;
numVert = v;
count = 0;
mark = new Vertex[numVert];
matrix = new int*[numVert];
for (i=0;i<numVert;i++){
mark[i]->seen = false;
matrix[i] = new int[numVert];
for (int j=0; j<numVert;j++)
matrix[i][j]=0;
}
}
這是它最初被調用的地方。它聲明它既是數組賦值又是將其'可見'成員賦值爲假的非指針類型。
給我們一個失敗的案例極少。這應該工作。 –
「它不起作用」不是一個足夠的錯誤描述。 – 2012-10-21 19:28:09
你的例子編譯... http://ideone.com/dSEx5T – alestanis