Re: Help vector deque????
Simply_Red <Simply.Red75@gmail.com> wrote:
what is wrong with this code:
ContoursAX, ContoursAY vectors of double
NewLeftPointsX,NewLeftPointsY deques of double
ContoursAX.insert( ContoursAX.end(), NewLeftPointsX.begin(),
NewLeftPointsX.end() );
Next time you ask a question like this, consider saying which compiler
version you are using, quoting the exact text of compiler diagnostic,
and what line of code it refers to.
I'll try psychic debugging powers. My crystal ball tells me you are
using VC6. VC6 compiler does not support member templates. The flavor of
insert() method you are trying to use must needs be a member template
since it has to accept arbitrary iterators. Thus, this overload is
missing from STL implementation shipped with VC6. I believe VC6 instead
provides an overload that takes a pair of T* pointers (where T is the
type of vector elements).
Here are a few alternatives that should work with VC6:
size_t old_size = ContoursAX.size();
ContoursAX.resize(old_size + NewLeftPointsX.size());
std::copy(NewLeftPointsX.begin(), NewLeftPointsX.end(),
ContoursAX.begin() + old_size);
ContoursAX.reserve(ContoursAX.size() + NewLeftPointsX.size());
std::copy(NewLeftPointsX.begin(), NewLeftPointsX.end(),
std::back_inserter(ContoursAX) );
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925