Только копируемый тип, не принятый в MSVC STD :: Vector RegainationC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Только копируемый тип, не принятый в MSVC STD :: Vector Regaination

Сообщение Anonymous »

В следующем коде: < /p>

Код: Выделить всё

struct copy_only
{
copy_only() = default;
copy_only(const copy_only&)            = default;
copy_only& operator=(const copy_only&) = default;
copy_only(copy_only&&)                 = delete;
copy_only& operator=(copy_only&&)      = delete;
~copy_only()                           = default;
};

std::vector v;
copy_only c{};
v.push_back(c);
< /code>
на MSVC мы получаем ошибку: < /p>

Ошибка C2280: 'copy_only :: copy_only (copy_only &&)': попытка ссылаться на удаленную функцию < /p>
< /blockquote>
 with in vitor vitor vitor vitor vitor vitor vitor vitor with in the obreator < /p>
< /blockquote> push_back (const &) 
вызовы emplace_back реализация:

Примечание: при составлении функции члена класса. instantiaiation '_ty & std :: vector :: _ emplace_one_at_back (const _ty &)' составлено < /p>
< /blockquote>
Это компилирован с GCC и Clang. Это просто массивная ошибка компилятора MSVC в простейшем векторном примере? Или есть какая -то стандартная вещь, которая предотвратит это использование, что GCC и Clang просто зацикливаются?
Живой пример.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ementation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»