Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
60 / 27 / 24
Регистрация: 28.09.2017
Сообщений: 399
1

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

06.10.2018, 09:36. Просмотров 424. Ответов 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
Грамотный. Безпорно.
16861 / 9757 / 1880
Регистрация: 27.09.2012
Сообщений: 24,171
Записей в блоге: 2
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
Эксперт С++
1583 / 913 / 777
Регистрация: 06.02.2016
Сообщений: 2,394
Записей в блоге: 28
06.10.2018, 09:52 4
pavel2210057, Сделать членом класса
0
Грамотный. Безпорно.
16861 / 9757 / 1880
Регистрация: 27.09.2012
Сообщений: 24,171
Записей в блоге: 2
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
13538 / 7191 / 1723
Регистрация: 30.01.2014
Сообщений: 12,032
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® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.