Я собрал этот тестовый пример, который воспроизводит условия и проблемы, которые я получаю в большем коде.На самом деле мне нужно скопировать из массива C структуры POD, но я бы хотел, чтобы местом назначения был вектор, чтобы он мог самостоятельно обрабатывать удаление копии.
TEST_METHOD(std_copy)
{
struct W { long a; int b; char c; char d; };
W block[1] = { { 15, 42, 'D', 'X' } };
std::vector<W> dest;
dest.reserve(1);
std::copy(block, block+1, dest.begin());
Assert::AreEqual(42, dest[0].b);
}
Утверждение "не можетитератор поиска вектора после завершения ", кажется, происходит в вызове dest.begin()
, что для меня не имеет смысла.Я уверен, что просто упускаю очевидную деталь, но что это?