60 / 27 / 24
Регистрация: 28.09.2017
Сообщений: 399
1

Ошибка в конструкторе копирования

06.10.2018, 09:36. Показов 543. Ответов 7
Метки нет (Все метки)

Всем привет, не могу понять проблему, у меня есть структура:
C++
1
struct WindowRender : public sf::RenderWindow, public Render;
Мне нужно реализовать конструктор копирования, то есть как-то так:
C++
1
2
3
4
WindowRender::WindowRender(const WindowRender& _right) :
    sf::RenderWindow(), Render() {
    *this = _right;  //"WindowRender &WindowRender::operator =(const WindowRender &)": предпринята попытка ссылки на удаленную функцию
}
И я не понимаю, почему в этом примере подобная ошибка. При явном написании operator= она исчезает, но сам факт непонятен. Объясните, пожалуйста.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2018, 09:36
Ответы с готовыми решениями:

Ошибка в конструкторе копирования
Здравствуйте. Есть один класс для работы с многочленами, который хранит элементы многочлена в...

Ошибка в конструкторе копирования C++
Помогите, пожалуйста создать конструктор копирования, который будет копировать элемент и добавлять...

Ошибка в конструкторе копирования класса
Хотя и делал по образцу, но почему то лезет ошибка записи за пределы динамического массива, хотя и...

О конструкторе копирования
Доброго времени суток всем присутствующим. Интересует маленький вопрос. В 15-й строке происходит...

7
Don't worry, be happy
17580 / 10378 / 2006
Регистрация: 27.09.2012
Сообщений: 26,103
Записей в блоге: 1
06.10.2018, 09:50 2
Потому что sf::RenderWindow является наследником sf::NonCopyable, и не умеет копироваться (и присваиваться тоже).
0
60 / 27 / 24
Регистрация: 28.09.2017
Сообщений: 399
06.10.2018, 09:51  [ТС] 3
Croessmah, и что делать в таком случае?
0
Эксперт С++
1615 / 946 / 781
Регистрация: 06.02.2016
Сообщений: 2,434
Записей в блоге: 30
06.10.2018, 09:52 4
pavel2210057, Сделать членом класса
0
Don't worry, be happy
17580 / 10378 / 2006
Регистрация: 27.09.2012
Сообщений: 26,103
Записей в блоге: 1
06.10.2018, 09:53 5
Цитата Сообщение от pavel2210057 Посмотреть сообщение
и что делать в таком случае?
Задать себе вопрос, - "Какого хрена у меня окна копируются?".
И постараться дать на него адекватный ответ.
0
60 / 27 / 24
Регистрация: 28.09.2017
Сообщений: 399
06.10.2018, 10:04  [ТС] 6
Croessmah, ахах. Ну на самом деле у меня беда в другом заключается. Просто я связал ее с этим. На самом деле у меня есть 2 проекта - в 1 этот класс работает отлично, я очень доволен, а вот 2 проект - это dll, в нем при вызовах методов этой структуры, либо при создании объекта структуры вылезает ошибка "Ссылка на неразрешенный внешний элемент" - моя самая нелюбимая ошибка, потому что фиг поймешь из-за чего она. Помогите разобраться.
0
15801 / 8593 / 2103
Регистрация: 30.01.2014
Сообщений: 14,761
06.10.2018, 10:06 7
Цитата Сообщение от pavel2210057 Посмотреть сообщение
но сам факт непоняте
Разработчики sfml запретили копирование определенных сущностей, т.к. их копирование архитектурно неверно. Ваша попытка обойти запрет - это нарушение идеологии, которую заложили разработчики (ошибка компилятора лишь маркер, который должен предохранить вас от архитектурной ошибки).

Добавлено через 1 минуту
Цитата Сообщение от pavel2210057 Посмотреть сообщение
при создании объекта структуры вылезает ошибка "Ссылка на неразрешенный внешний элемент" - моя самая нелюбимая ошибка, потому что фиг поймешь из-за чего она. Помогите разобраться.
Для помощи у вас недостаточно данных предоставлено. Создайте новую тему, выложите всю необходимую информацию туда (код DLL, настройки сборки, цитаты ошибок и прочее).
0
60 / 27 / 24
Регистрация: 28.09.2017
Сообщений: 399
06.10.2018, 12:13  [ТС] 8
DrOffset, все, создал, выложил "виновный" код. Посмотрите, пожалуйста.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2018, 12:13
Помогаю со студенческими работами здесь

Параметр в конструкторе копирования
Есть класс class CMatrix{ valarray<valarray<double> > matrix; public: CMatrix(const...

Указатель this в конструкторе копирования
Добрый всем вечер. Подскажите пожалуйста, как правильно применить в конструкторе копирования...

Зачем нужна ссылка в конструкторе копирования
Вопрос такой, Зачем нужна ссылка в конструкторе копирования? Почему не передавать напр. по...

Можно ли в конструкторе копирования поменять один параметр?
Здравствуйте. Мне нужно при создании объекта через конструктор копирования поменять один параметр в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru