表达式必须有指针类型错误

时间:2013-07-10 11:58:02

标签: c pointers expression

我在这里查看了关于此的所有其他答案,但它似乎并不适用于我的。

MY_STRUCT_LIST*  tempList = NULL ;
size_t cnt = my_Session->my_ListIndex.size();
int i = 0;

for(i=0; i < (int)cnt ; i++)
{
   tempList = my_Session->my_ListIndex[i];
   if(tempList->lListIndex == treeItem)
   {      
    my_Session->my_ListIndex->push_back(i);
    break;
   }
 }

这里:

my_Session是一个指针 my_ListIndexMY_STRUCT_LIST类型的向量指针。 lListIndextreeItem属于同一类型。

 Error: the second my_Session has 583 "expression must have pointer type"

但它是一个指针!

1 个答案:

答案 0 :(得分:6)

my_Session->my_ListIndex->push_back(i);

...尝试使用my_ListIndex作为指针,它(根据size()对上面几行的调用)不是。

my_Session->my_ListIndex.push_back(i);

......效果更好。