我有以下數據類型和變量:初始化變量涉及矢量數據類型
typedef Seq< vector<int> > MxInt2d;
typedef std::vector<int> edge_t;
typedef std::vector< edge_t> edge2d_t;
std::vector<edge2d_t> myEdgesIntersect;
我試圖初始化myEdgesIntersect像:
edge2d_t edge2d(2);
//creating the vector of edges of intersections whenever an intersection is detected
for (int i=0;i<1;i++){
edge2d[0][0]=sweepEvents[i][0];
edge2d[0][1]=sweepEvents[i][1];
edge2d[1][0]=sweepEvents[i+1][0];
edge2d[1][1]=sweepEvents[i+1][1];
std::cout<<edge2d[0][0]<<" "<<edge2d[0][1]<<endl;
std::cout<<edge2d[1][0]<<" "<<edge2d[1][1]<<endl;
myEdgesIntersect.push_back(edge2d);
std::cout<<myEdgesIntersect[i][0][0]<<" "<<myEdgesIntersect[i][0][1]
<<" "<<myEdgesIntersect[i][1][0]<<" "<<myEdgesIntersect[i][1][1]<<endl;
}
但是使用這個語法,當我嘗試顯示變量myEdgesIntersect這個沒有使用給定值edge2d [..] [..](在顯示過程中沒問題)初始化。我試圖在push_back之前顯示變量myEdgesIntersect,並且出現總線錯誤,所以我認爲問題在於該變量未初始化。我試圖對其進行初始化,如:
edge2d_t edge2d;
edge2d[0][0]=0;
edge2d[0][0]=0;
edge2d[0][0]=0;
edge2d[0][0]=0;
edge2d[0][0]=0;
myEdgesIntersect.push_back(edge2d);
,但我得到了同樣的錯誤,因爲實際上是同樣的事情,在環。顯然我不知道如何初始化這個非常複雜的變量,我真的需要。如果您有任何建議,我會更高興。
由於事先 madalina
這可能會修復,避免它的問題,但它並沒有解決,爲什麼他的代碼是錯誤的。 – 2009-04-16 12:34:20