首页 > 解决方案 > 对和花括号检查

问题描述

#include <bits/stdc++.h>
using namespace std;

int main()
{
    
  pair<int,int>p = {1,3};

  if (p=={1,3})
      cout << "yeyey\n";

}

我想检查这对是否与大括号内的整数相同,但它返回错误

"expected unqualified-id before ')' token if (p=={1,3}) cout << "yeyey\n";"

有人可以解释为什么吗?

标签: c++visual-c++

解决方案


语言{1, 3}在该上下文中的工作方式无法解析为类型,因此您需要:

// since c++17
p == std::pair{1, 3}

// before
p == std::make_pair(1, 3)

推荐阅读