我希望构造函数接受任何具有x
trait 和引用 class的迭代器y
。
Class(std::iterator<std::random_access_iterator_tag, MyClass*> it);
但是当我尝试传递这样的迭代器时,编译失败并显示Candidate constructor not viable: no known conversion from 'iterator' (aka '__deque_iterator<value_type, pointer, reference, __map_pointer, difference_type, __block_size>') to 'std::iterator<std::random_access_iterator_tag, MyClass *>'
.
插入代码:
std::deque<MyClass*> collection_with_random_access_iterator{};
Class tmp(collection_with_random_access_iterator.begin());
我可以在这里做什么?