不能从std :: pair构造一个std :: pair - 函数被删除

时间:2017-07-21 15:24:51

标签: c++ visual-studio-2017 c++17

我在VS2017中尝试以下内容

set<pair<int, int> > s;  // fill the 's'
pair<int, int> p = *std::min_element(s.begin(), s.end());

虽然代码 编译,但Visual Studio会将以下消息放入错误列表

E1776  function "std::pair<_Ty1, _Ty2>::pair(const std::pair<int,int> &) [with _Ty1=int, _Ty2=int]" 
(declared implicitly) cannot be referenced -- it is a deleted function

这个

也是如此
set<pair<int, int> >::iterator it;
pair<int, int> p1 = *it;

和这个

set<pair<int, int> >::const_iterator cit;
pair<int, int> p2 = *cit;

为什么?

0 个答案:

没有答案