在 C++ 中创建一对长整型和矢量时出现编译错误

compilation error while creating pair of long and vector in c++

本文关键字:错误 编译 C++ 创建 长整型      更新时间:2023-10-16

如何在 c++ 中制作一对长整型和向量?下面给我语法错误,我不明白原因?

#include <iostream>
#include <vector>
#include <utility>
using namespace std;
int main()
{
make_pair<int,vector<long> > lvp;
}

这会导致此错误:

$ g++ -std=c++11 pair_vector.cpp
pair_vector.cpp: In function ‘int main()’:
pair_vector.cpp:6:32: error: expected ‘;’ before ‘lvp’
make_pair<int,vector<long> > lvp;
^
make_pair

是一个函数,所以你可以这样使用它:

auto lvp = std::make_pair(1, std::vector<long>{ 1, 2, 3, 4 });

您拥有的语法适合仅使用std::pair

std::pair<int,vector<long> > lvp;

请注意,从 C++ 11 开始,您不再需要在尖括号之间放置空格以防止错误解析,因此您可以使用:

std::pair<int,vector<long>> lvp;

。如果你愿意。