编码:
#include <vector>
int main()
{
std::vector<int> v1 = {12, 34};
std::vector<int> v2 = {56, 78};
//Doesn't work.
v1.push_back(v2[0]);
//Works.
int i = v2[0];
v1.push_back(i);
return 0;
}
出于某种原因,第一个 push_back 不起作用,而第二个则起作用。Eclipse 为该行给出了错误:
Invalid arguments ' Candidates are: void push_back(const int &) void push_back(int &&) '
有人可以解释那里发生了什么吗?谢谢!
编辑:
代码实际上编译得很好。出于某种原因,Eclipse 不同意这是有效代码。