我是 C++ 和 vector 的新手,一直在尝试试验一些 STL 函数,但我想知道为什么这不起作用。我猜是因为我的第一个和最后一个职位,他们不允许是整数吗?
#include <cstdlib>
#include <vector>
#include <iostream>
using namespace std;
/*
*
*/
int main() {
const int lowest = 10;
const int highest = 99;
vector<int> scramble;
for (int i = 0; i < 20; i++){
scramble.push_back(lowest + rand() % (highest - lowest + 1));
cout << scramble.at(i) << endl;
}
int first = 0;
int last = 19;
cout << "The maximum value is: " << max_element(first, last);
}
最佳答案
根据max_element
文档:std::max_element
std::max_element template <class ForwardIterator> ForwardIterator max_element (ForwardIterator first, ForwardIterator last); template <class ForwardIterator, class Compare> ForwardIterator max_element (ForwardIterator first, ForwardIterator last, Compare comp);
前两个参数必须是FowardIterator
,而不是简单的整数。
您可以尝试以下方法:
std::cout << "The maximum value is: "
<< *max_element(scramble.begin(), scramble.end());
关于c++ - vector 和使用STL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430483/