i need make use of queue of doubles because of properties has ordered container. want pass queue class constructor accepts vectors. if directly following error:
candidate constructor not viable: no known conversion 'std::queue' 'std::vector &' 2nd argument
how cast queue vector?
the correct container model both queue_like behaviour , vector-like behaviour std::deque
.
this has advantages of:
constant-time insertion , deletion @ either end of deque
ability iterate elements without destroying deque
std::deque
supports begin()
, end()
methods means can construct vector (with compatible value-type) directly.
#include <vector> #include <deque> class acceptsvectors { public: acceptsvectors(std::vector<double> arg); }; int main() { std::deque<double> myqueue; auto av = acceptsvectors({myqueue.begin(), myqueue.end()}); }
a non-mutating conversion of queue
vector
not possible.
Comments
Post a Comment