矢量迭代器 - >印刷条款(缺少参数)

时间:2015-11-21 11:25:42

标签: c++ vector iterator polymorphism

我正在使用VS V ++ 2013.我有一个函数,它将vector作为参数并打印出类(我有抽象类,很少有孩子)。除了打印,我已经完成了所有工作。我有矢量迭代器的问题。 每次我尝试编译时都会收到此错误 这是我的功能: 错误1错误C3867:'std :: vector> :: begin':函数调用缺少参数列表;使用'& std :: vector> :: begin'创建指向成员的指针

void printList(const vector <Employee *> & Ve)
{   
    for (std::vector < Employee *>::iterator it = Ve.begin ;it != Ve.end(); ++it)
    {
    }
}

1 个答案:

答案 0 :(得分:0)

你错过了括号:

for (std::vector < Employee *>::const_iterator it = Ve.begin() ;it != Ve.end(); ++it)
                                                            ~~

另一个问题是,您将vector作为const传递,并在其上调用begin()将返回const_iterator。您应该更改迭代器的声明,或者只使用auto(来自c ++ 11):

for (auto it = Ve.begin() ;it != Ve.end(); ++it)