в файле Model.h есть
так вот его надо убрать и сделать forward declaration
а уже в файле Model.cpp сделать
____________________________________________________________________________________________
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
| void Model :: remove_observer(View* observer)
{
std :: vector<View*> :: iterator i;
for (i = observers_.begin( ) ; i != observers_.end( ) ; i++)
{
if(*i == observer)
{
observers_.erase(i);
break;
}
}
} |
|
1. зачем сравнивать View по значению?
2. после модификации вектора итераторы становятся недействительными
____________________________________________________________________________________________
очень много где в коде параметры передаются по значению вместо ссылки на константу