2011-06-29 45 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

相关问题