错误 C2664 无法从“初始化程序列表”转换参数 1;到“A &&” (在 VS2017 上编译,但在 VS2015 上不编译)
我对这段代码有疑问。当我使用 Visual Studio 2017 (v141) 平台工具集时可以编译它。但是,当我切换到 Visual Studio 2015 (v140) 时,出现以下错误:
Error C2664 'void std::vector>::push_back(const A &)':cannot将参数 1 从“初始化列表”转换为“A &&”
#include <vector>
#include <iostream>
struct A {
double i;
double j;
int k = -1;
};
int main()
{
std::vector<A> _object_rects;
double i = 150;
double j = 200;
_object_rects.push_back({
i,
j });
std::cout << "print structure: " << std::endl;
std::cout << _object_rects[0].i << std::endl;
std::cout << _object_rects[0].j << std::endl;
std::cout << _object_rects[0].k << std::endl;
system("pause");
return 0;
}
感谢任何帮助。谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论