我写了一个代码,对矢量执行一些操作,我在其中定义了一个宏:
#define all(c) ((c).begin(),(c).end())
Run Code Online (Sandbox Code Playgroud)
...并使用该宏进行矢量插入v2.insert(1, all(v1)).
这意味着我想在向量v1中的第二个位置插入vector 中的所有元素v2.但是,我在insert函数调用的行上收到以下错误:
没有匹配函数来调用'std :: vector :: insert ...
代码如下:
#include<iostream>
#include<stdio.h>
#include<vector>
#include<stdlib.h>
#define all(c) ((c).begin(),(c).end())
using namespace std;
int main()
{
int data[]={1,2,3,4,5,6,7,8};
vector<int> v1(data+1,data+5);
vector<int> v2(2,1);
v2.insert(1,all(v1));
printf("\n Before the for loop");
for(vector<int> v2::iterator it=v2.begin();it!=v2.end();it++)
{
printf("\t %d \t ",*it++);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
325 次 |
| 最近记录: |