Форум программистов, компьютерный форум CyberForum.ru

Ограничения в конструкторе - C++

Восстановить пароль Регистрация
 
Misha_prog
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 184
15.04.2014, 22:00     Ограничения в конструкторе #1
Все привет!!!Возника проблема, пытаюсь написать два класса игрок и команда , игрок модет переходить из команды в команду , но также при создании класса игрока я ему сразу команду передаю , в игроке команда хранится по умному указателю weak_ptr, а в классе команда хранится множество умных указателей на футболистов команды. Логично что при создании игрока когда я ему передаю какую то команду , и в эту же команду должен передаваться указатель на футболист длля добавления в множестов пытаюсь я это сдлелать так
вот небольшой отрывок кода
C++
1
2
3
4
5
6
7
8
9
10
11
Player::Player(std::shared_ptr<Team> const& team)
    :m_team(team)
{
    team->AddTeam(shared_from_this());
      // ...
}
 
//.....
private:
std::weak_ptr<Team const>   m_team;
}
и конечно вот так у меня вначале класс записан
C++
1
2
3
class Player:
    public Person,
    public std::enable_shared_from_this<Player>
всё компилируется но при debugge R6010 abort has been called , под отладкой обнаружил что падает именно на этой строке team->AddTeam(shared_from_this()); погуглив я так понял что ошибка из -за того что я вызываю это именно в конструкторе, но может быть я совсем не то понял.
Может быть кто встречался с такой проблемой ? Подскажите пожалуйста что я делаю не так !
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2014, 22:00     Ограничения в конструкторе
Посмотрите здесь:

C++ ощибка в конструкторе
исключения в конструкторе C++
C++ Двоеточие в конструкторе
Шаблон в конструкторе C++
ZeroMemory в конструкторе b __vfptr C++
Ошибка в конструкторе копирования C++
C++ О конструкторе копирования
C++ Полиморфизм в конструкторе класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru