zl程序教程

您现在的位置是:首页 >  后端

当前栏目

常见C++代码报错

C++代码 报错 常见
2023-09-14 09:13:18 时间

常见C++代码报错

1.报错

34	16	D:\OpenJudge\PAT\c\1139_2.cpp	
[Error] request for member 'push_back' in '(& v)->std::vector<_Tp, _Alloc>::operator[]<int, std::allocator<int> >(((std::vector<int>::size_type)__builtin_abs(que)))', 
which is of non-class type '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}'

2.原因

我在使用vector<int> v[maxn] ,但是在调用的函数里面却无法使用二维的vector,导致出错。

3.改正

#include<iostream>
#include<vector>
#include<iomanip>
#define maxn 1000
 
using namespace std;

void insert(vector<int> &a){
	a.push_back(1);
} 
 
int main()
{
	vector<int> s[maxn];
    insert(s[0]);
    for(int i =0;i< s[0].size();i++){
    	cout << s[0][i];
	}
}

传递一个vector<int> a时,需要使用引用,同时需要知道在调用函数时,是s[0]作为参数。