Я пытаюсь запустить этот код с MSVC 2017:
#include <vector>
#include <deque>
class StripPtR {
public:
int i;
StripPtR (int i) : i(i) {}
};
typedef std::deque<StripPtR> StripType;
typedef std::vector<StripType> StripsType;
int main(int, char**) {
StripType a{ {1}, {2}, {3} };
a.insert(a.end(), a.rbegin() + 1, a.rend());
return 0;
}
И получаю эту ошибку:
Итератор Deque не может быть уменьшен
Ошибка
Ошибка возникает во время выполнения.Во время компиляции нет ошибок или предупреждений.
Этот же код прекрасно работает с GCC.
Что не так?