Modification d'un élément dans une CList
Bonjour à tous,
J'ai une CList de CLogManager (classe maison) définie comme il suit :
Code:
1 2
|
CList<CLogManager, CLogManager&> m_logs; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
class CLogManager
{
public:
[...]
void SetDividers(double fCrossWebDivider, double fDownWebDivider);
[...]
private:
[...]
double m_fDownWebDivider;
double m_fCrossWebDivider;
};
void CLogManager::SetDividers(double fCrossWebDivider, double fDownWebDivider)
{
m_fDownWebDivider = fDownWebDivider;
m_fCrossWebDivider = fCrossWebDivider;
} |
J'essaie de modifier les deux doubles de chaque élément de la liste par la fonction SetDividers() mais aucune modification n'est prise en compte.
Je fais comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
void CMultipleLogsManager::SetDividers(double fCrossWebDivider, double fDownWebDivider)
{
POSITION pos = m_logs.GetHeadPosition();
while (pos != NULL)
{
CLogManager& logTmp = m_logs.GetNext(pos);
logTmp.SetDividers(fCrossWebDivider,fDownWebDivider);
}
} |
Il semblerait que le problème soit logTmp qui finalement n'est qu'une copie de l'élément de la liste, mais alors, comment récupérer un pointeur sur chaque élément pour pouvoir faire les modifs ?