Je voudrais faire une map qui associe un pointeur sur un objet de classe agent et ses coordonnées (2 entiers pour commencer), j'ai donc fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
map<Agent*, int[1]> agentList;
et un appel du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
agentCoord[agent][0]+=deltaX;
mais Oh rage:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1>c:\program files\microsoft visual studio 8\vc\include\map(172) : error C2440: '<function-style-cast>' : cannot convert from 'int' to 'int [1]'
1>        There are no conversions to array types, although there are conversions to references or pointers to arrays
1>        c:\program files\microsoft visual studio 8\vc\include\map(167) : while compiling class template member function 'int (&std::map<_Kty,_Ty>::operator [](Agent *const &))[1]'
1>        with
1>        [
1>            _Kty=Agent *,
1>            _Ty=int [1]
1>        ]
1>        c:\2005\1\sma\staticgridenv.h(43) : see reference to class template instantiation 'std::map<_Kty,_Ty>' being compiled
1>        with
1>        [
1>            _Kty=Agent *,
1>            _Ty=int [1]
1>        ]
Ou est ce que cela coince?


Question bonux, j'ai pas mal de fonction qui ont besoin de la référence sur l'objet appelant, y aurait il un équivalent à "this" pour cela?