这是我试过测试C++ - 概念功能的代码。然而,即使在g ++ 6.2.0版本上使用标志-fconcepts后,它似乎也不起作用。 任何帮助它得到它的工作将是伟大的!如何使用g ++ 6.2.0启用概念?
#include <iostream>
using namespace std;
#include <list>
#include <vector>
#include <algorithm>
#include <iterator>
#include <bits/stdc++.h>
using namespace std::literals;
template<typename ptr_t >
requires RandomAccessIterator<ptr_t>
void mysort(ptr_t first, ptr_t last)
{
sort(first, last);
}
int main()
{
vector<int> v{22, 11, 55, 33, 44};
list<int> l{22, 11, 55, 33, 44};
mysort(begin(v), end(v));
mysort(begin(l), end(l));
}
这是我如何编译:
g++-6 concepts.cpp -fconcepts
这是我的错误:
error: ‘RandomAccessIterator’ was not declared in this scope
我改变了拼写random_access_iterator
,但它仍然无法正常工作。
6.2.13节中的文档C++ Working Draft定义了RandomAccessIterator的存在。
您的概念RandomAccessIterator定义在哪里? –
'RandomAccessIterator'不由标准库提供。你需要定义它。 –
我应该如何定义它?什么是确切的签名? –