关于标准库中std::make_pair的一个问题

在从VS2005升级到VS2012时,遇到std::make_pair编译错误,错误信息提示不能将参数1从“int”转换为“int &&”,原因是C++11引入的右值引用。解决方法是理解并应用左值与右值的概念。参考链接提供了关于C++11右值引用的详细解释。
摘要由CSDN通过智能技术生成
namespace UnitTest1
{		
	TEST_CLASS(UnitTest1)
	{
	public:
		
		TEST_METHOD(TestMethod1)
		{
			// TODO: 在此输入测试代码

			int i = 0, j = 0;
			std::make_pair<int, int>(i, j);
		}

	};
}

请看以上这段伪代码

先说问题

这段代码在vs2005中能够正常编译通过,而在vs2012中就编译不过了(ps:对于其他编译器没有做过测试),在vs2012中会抛出如下:

error C2664: “std::make_pair”: 不能将参数 1 从“int”转换为“int &&”
          无法将左值绑定到右值引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值