发生错误将一个无效参数传递给了将无效参数视为严重错误的函数。

在写题,遇到一个错误,怎么改都不行。。。。。

原题目如下

源代码如下

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	int n;//pudding的数量
	cin >> n;

	int* pd = new int[n];//输入pudding的数组 
	for (int i = 0; i < n; i++)
	{
		cin >> pd[i];
	}
	//将数组pd输入到容器中
	vector<int> pudding;
	for (int i = 0; i < n; i++)
	{
		pudding.push_back(pd[i]);
	}

	int q;//询问的次数是q
	cin >> q;

	int* arr = new int[2 * q];//arr是输入的询问数组 
	for (int i = 0; i < 2 * q; i++)
	{
		cin >> arr[i];
	}
	vector<int> arr1;//将询问数组输入到容器中 
	for (int i = 0; i < 2 * q; i++)
	{
		arr1.push_back(arr[i]);
	}
	//定义iterator        
	vector<int>::iterator ite1;
	int count = 0;
	while (!arr1.empty())
	{
		int l = arr1[0];
		int r = arr1[1];//询问的范围 
		vector<int> sort_arr;
		for (int i = l - 1; i < r; i++)
		{
			sort_arr.push_back(pudding[i]);
		}
		sort(sort_arr.begin(), sort_arr.end());
		reverse(sort_arr.begin(), sort_arr.end());
		ite1 = sort_arr.begin();
		cout << *sort_arr.begin() << endl;
		arr1.erase(arr1.begin(), arr1.begin() + 1);
	}
}

 

既然是vector 可以直接用at函数呀。不用迭代器迭代也行

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632