コード:
#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 は機能しませんが、2 番目は機能します。Eclipseはその行にエラーを出します:
Invalid arguments ' Candidates are: void push_back(const int &) void push_back(int &&) '
誰かがそこで何が起こっているのか説明できますか? ありがとう!
編集:
コードは実際に正常にコンパイルされます。何らかの理由で、Eclipse はこれが有効なコードであることに同意しません。