Salut à tous,

Je souhaite connaitre l'offset d'un attribut contenu dans un objet qui lui même et contenu dans un tableau d'objet.

Concrétement voilà une description qui marche avec un tableau statique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class CVoiture 
{
     int matricule;
}
 
class CParcking
{
    CVoiture listeParking[1];
}
 
void maFonction()
{
    CParcking park;
    park.listeParking[0].matricule = 1234AA33;
 
    size_t pos = offsetof(CParcking, listeParking[0].matricule);    
}
Dans le cas précédent, je récupère bien l'offset recherché.
Mais lorsque je souhaite utilisé un tableau dynamique, cela ne marche pas comme dans l'exemple suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class CVoiture 
{
     int matricule;
}
 
class CParcking
{
    CVoiture *listeParking;
}
 
void maFonction()
{
    CParcking park;
    park.listeParking = new CVoiture[1];
    park.listeParking[0].matricule = 1234AA33;
 
    size_t pos = offsetof(CParcking, listeParking[0].matricule);    
}
En effet, je constate l'exception "Acces violation location"

Donc est il possible d'utiliser la macro offsetof pour référencer un tableau dynamique sinon y a t il un autre procédé ?

Merci pour votre aide