witam, mam problem z działaniem przeładowanego operatora. Tak on wygląda:
environment& gameMap::operator()(const unsigned int i, const unsigned int j)
{
return _chessboard[j+1][i+1];
}
const environment& gameMap::operator()(const unsigned int i, const unsigned int j) const
{
return _chessboard[j+1][i+1];
}
w main takie coś działa:
Mapa(0,0).wall()=1;
natomiast gdy przekażę próbuję to przekazać do innego obiektu
interface.setMap(&Mapa);
to przy wywołaniu: map::operator()(1,1)->isEndMap()
dostaję błąd:
> map is not a class or namespace
gdy próbuję zaś wywołać ten operator tradycyjnie
```cpp
map(1,1)->isEndMap()
to
error: ‘((wrapper*)this)->wrapper::map’ cannot be used as a function|
w klasie wrapper map jest wskaźnikiem. Może ktoś wpadnie co spaprałem :)
EDIT:
rozwiązaniem jest taka konstrukcja:
gameMap& tempMap=*map;
tylko nie rozumiem dlaczego. Wywołując operator na tempMap wydaje się działać.