Я пытаюсь скомпилировать этот фрагмент кода c ++ 17 , который содержит std::sample
, используя gcc версии 6.3.0 с помощью следующей команды: g++ -std=gnu++17 -c main.cpp
.
Но я получаю это: error: ‘sample’ is not a member of ‘std’
...
#include <vector>
#include <algorithm>
#include <random>
int main()
{
std::vector<int> a{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::vector<int> b(5);
std::sample(a.begin(), a.end(),
b.begin(), b.size(),
std::mt19937{std::random_device{}()});
return 0;
}
Поддерживает ли gcc 6 использование std::sample
? (Отлично компилируется с gcc 8.2.0)
Я не смог найти ответ на этих двух страницах: