对的向量 - 逗号操作数的左手边没有效果

Rob*_*dea 0 c++

我宣布了一对矢量:

vector <pair <int, int> > args;
Run Code Online (Sandbox Code Playgroud)

然后我想像这样将一对推入向量:

args.push_back((1,-1));
Run Code Online (Sandbox Code Playgroud)

它告诉我逗号的左手操作数没有效果.我哪里出错了?

Ker*_* SB 7

说args.push_back(std::make_pair(1,-1));.或任何数量的替代品:

// #1
args.push_back(std::pair<int, int>(1,-1));

// #2
typedef std::vector< std::pair<int, int> > pvector;
pvector args;
args.push_back(pvector::value_type(1,-1));

// #3
typedef std::pair<int, int> intpair;
std::vector<intpair> args;
args.push_back(intpair(1,-1));

// #4
args.emplace_back(1, -1);  // sexy

//...
Run Code Online (Sandbox Code Playgroud)