powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Копирующий конструктор
6 сообщений из 6, страница 1 из 1
Копирующий конструктор
    #38714596
amigo421
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый
столкнулся с таким фрагментом кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
class A {
    std::atomic<double> field;
public:
    A() {}
......
}

class B {
public:
     Method(const A& a) {...}
}



Как известно, в определении класса atomic есть такая строка:

Код: plaintext
1.
  atomic(const atomic&) = delete;



т.е. копирующий конструктор запрещен.

При попытке компиляции кода выше как раз и выводиться эта ошибка:
что то типа - "обращение к удаленной функции atomic(const atomic&) "

поясните спецы пожалуйста как именно здесь происходит обращение к копирующему конструктору A в параметре метода класса B?

Заранее спасибо
...
Рейтинг: 0 / 0
Копирующий конструктор
    #38714607
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigo421,

никак.

Видимо, проблемный код остался за пределами твоего сообщения.

Приведи полностью (наиболее полно) код и вывод компилятора.
...
Рейтинг: 0 / 0
Копирующий конструктор
    #38714626
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigo421,

Компилятор сгенерировал конструктор копирования для класса А - для него и выдается ошибка.
Если вам копирование не нужно, то объявите этот конструктор явно и укажите = delete (и в наследнике тоже)
...
Рейтинг: 0 / 0
Копирующий конструктор
    #38714653
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что это за муть вообще?
обвязка к CAS инструкции и функциям вроде __sync_val_compare_and_swap?
...
Рейтинг: 0 / 0
Копирующий конструктор
    #38714763
amigo421
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivamigo421,

никак.

Видимо, проблемный код остался за пределами твоего сообщения.

Приведи полностью (наиболее полно) код и вывод компилятора.

спасибо , да, ты прав,
стоило повнимательнее присмотреться к коду
и стало понятно откуда проблема пришла:

class B {
list<A> a_list;
public:
Method(const A& a) {
.....
a_list.push_back(a);
....
}
}
...
Рейтинг: 0 / 0
Копирующий конструктор
    #38714868
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07.08.2014 12:50, amigo421 wrote:

> стоило повнимательнее присмотреться к коду
> и стало понятно откуда проблема пришла:

Ну да, тут вот:

> a_list.push_back(a);

и нужен конструктор копирования.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Копирующий конструктор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]