C ++使用向量作为main中的参数调用函数

时间:2016-07-26 16:14:37

标签: c++ vector parameter-passing

我有一个myVector类:

class myVector {

public:

    void populateVector();
    void showMenu(vector <myVector> const &vec_first);

private:

    vector <myVector> &vec_first;

}

我还没有填充我的矢量但是我想在showMenu()函数中使用矢量,但是,当我尝试调用showMenu()函数时,我的主要问题出现了。

int main() {
    myVector obj;
    obj.showMenu(vector <myVector> const &vec_first);
}

Codeblocks一直在说:

  

main.cpp | 33 | error:在&#39; const&#39;

之前的预期primary-expression

2 个答案:

答案 0 :(得分:3)

你将函数声明与调用它混淆。你需要

int main() {
    myVector obj;
    vector<myVector> vec;
    obj.showMenu(vec);
}

或类似的东西

答案 1 :(得分:0)

  

我还没有填充我的矢量但是我想在showMenu()函数中使用矢量,但是,当我尝试调用showMenu()函数时,我的主要问题出现了。

不要通过showMenu传递矢量(或任何内容);它已经可以访问vector,它是同一个类的成员。

如果 希望传递一个函数参数,那么重复参数的原始声明就不是这样做的了。只应指定其名称。这将是:

obj.showMenu(obj.vec_first);

...如果vec_first不是private

看起来你需要回到基础并阅读C ++书籍的初始章节。