2011-06-29 64 views
0

請告訴我,如果在這裏需要一些更多的信息: 全局聲明:錯誤: '類的std ::矢量<路線,性病::分配器<route>>' 沒有名爲成員 'exitPoint'

typedef struct route 
    { 
     int   exitPoint; 
     bool   allBranchesTraversed; 
    } route; 

    ****vector <route> routeVector;**** 

int main() 
{ 
.... 
    do 
    { 
     ****currentExitPoint = returnShortestWeightedBranch (&routeVector);**** 
     if (currentExitPoint != -1) 
     { 
      objRoute.exitPoint = currentExitPoint;   
      routeVector.push_back (objRoute); 
     } 
     else 
     { 
      break; 
     } 
    } while (1); 
} 

的錯誤是在本功能與**行:

int returnShortestWeightedBranch (vector <route> *objRouteVector) 
{ 
....  
    for (unsigned int h = 0; h < objRouteVector->size(); h++) 
    { 
     // Locate 'currentExitPoint' in the vector 'exitPointDetailsVector'. 
     for (i = 0; i < exitPointDetailsVector.size(); i++) 
     {  
      // If located 
      ****if (objRouteVector[h].exitPoint == exitPointDetailsVector[i].exitPoint)**** 
      { 
       // For all the branches of the 'currentExitPoint', 
       for (j = 0; j < exitPointDetailsVector[i].branchesVector.size(); j++) 
       { 

............... 
} 
罪魁禍首FUNC正從所謂

回答

3

如果使用vector <route> *objRouteVector作爲參數,則需要(*objRouteVector)[h].exitPoint。更好的是使用參考:vector <route> &objRouteVector

+0

謝謝,這工作,現在如果我寫'矢量&objRouteVector'我該如何訪問它?你上面顯示的方式也適用於這個參考? –

+1

@Anisha:就像正常一樣訪問它。使用引用時,不存在訪問基礎對象的額外語法。 –

2

你把一個指針指向objRouteVector,你需要參考。您的代碼索引objRouteVector根本不索引矢量,它索引指針

+0

那麼我該怎麼寫呢? –

+0

@Anisha Kaul:您需要參考並且您的代碼應該無需修改即可工作,除非您需要不需要地址的呼叫站點。 – Puppy

相關問題