将对象添加到向量时出现C++错误

Ale*_*rov 2 c++ compiler-errors vector syntax-error

我是新的矢量.我正在尝试将对象添加到矢量中.但程序无法编译,因为我的代码有问题.但我不知道它是什么.错误是:

error C2664: 'void std::vector<_Ty>::push_back(_Ty &&)' : cannot convert parameter 1 from 'Line (void)' to 'Line &&'
Run Code Online (Sandbox Code Playgroud)

代码是:

Line help_line ();
cin >> ln_quan;
vector <Line> figure_line;
for (int i = 0 ; i < ln_quan ; i++)
{
    figure_line.push_back(help_line);
}
Run Code Online (Sandbox Code Playgroud)

编译器说错误位于第6行(figure_line.push_back(help_line);).

我放弃了试图找到一个解释如何添加对象的教程(在做这些事情时我很容易放弃......).

'Line(void)'和'Line &&'是什么意思?'Line(void)'是'Line'类吗?如果是这样,在这种情况下'(void)'是什么意思?

Pet*_*der 6

Line help_line ();
Run Code Online (Sandbox Code Playgroud)

这声明了一个函数,而不是一个函数Line.请Line help_line;改用.

参见:最令人烦恼的解析:为什么不是A(()); 工作?

  • 我们能否同意"非常令人烦恼的解析"?:-) (4认同)