Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 向量遍历<;向量<;配对<;int,int>&燃气轮机&燃气轮机;_C++_Vector_Std Pair - Fatal编程技术网

C++ 向量遍历<;向量<;配对<;int,int>&燃气轮机&燃气轮机;

C++ 向量遍历<;向量<;配对<;int,int>&燃气轮机&燃气轮机;,c++,vector,std-pair,C++,Vector,Std Pair,我遇到了一个无法解释原因的情况。我有一个向量父项,表示特定单元格的父项。我有以下代码: // (1, 0), (1, 2), (1, 2) // (1, 2), (-1, -1), (1, 2) // (-1, -1), (2, 1), (-1, -1) vector<vector<pair<int, int> > > nums = { {make_pair(1, 0), make_pair(1, 2), make_pair(1, 2)},

我遇到了一个无法解释原因的情况。我有一个
向量父项
,表示特定单元格的
父项
。我有以下代码:

 // (1, 0), (1, 2), (1, 2)
 // (1, 2), (-1, -1), (1, 2)
 // (-1, -1), (2, 1), (-1, -1)
 vector<vector<pair<int, int> > > nums = {
      {make_pair(1, 0), make_pair(1, 2), make_pair(1, 2)},
      {make_pair(1, 2), make_pair(-1, -1), make_pair(1, 2)},
      {make_pair(-1, -1), make_pair(2, 1), make_pair(-1, -1)}};
  int r = 0;
  int c = 1;
  while (nums[r][c] != make_pair(r, c)) {
    cout << nums[r][c].first << " " << nums[r][c].second << endl;  // 1, 2
    r = nums[r][c].first;   // 1
    c = nums[r][c].second;  // -1
    cout << "r: " << r << " c: " << c << endl;
  }
/(1,0)、(1,2)、(1,2)
// (1, 2), (-1, -1), (1, 2)
// (-1, -1), (2, 1), (-1, -1)
向量nums={
{make_-pair(1,0),make_-pair(1,2),make_-pair(1,2)},
{make_-pair(1,2),make_-pair(-1,-1),make_-pair(1,2)},
{make_-pair(-1,-1),make_-pair(2,1),make_-pair(-1,-1)};
int r=0;
int c=1;
while(nums[r][c]!=make_pair(r,c)){
cout在第一次迭代中

 r=num[0][1].first = 1.
所以

c=num[1][1].second = - 1.  

至此,您已经为
r
分配了一个新值。在第一次迭代中,您将拥有
c=nums[1][1]。第二次
。此外,您不需要所有的
make_pair()
noise。只需使用括号初始化:
std::vectorblah{{{21,42},{101,404},}
(是的,它也适用于嵌套的
vector
s。)你也可以结束这个问题,因为它对社区没有多大帮助。但是没有什么效果!