Problème avec un pointeur d'un QList contenant des structures avec des QList
Bonjour,
J'ai un léger problème que j'ai tenté de résumer dans le titre. Que le titre ne vous rebute pas: je vais vous expliquer ce problème aussi clairement que possible.
J'ai créé diverses structures pour gérer des playlists. La première concerne les morceaux de musique:
Code:
1 2 3 4 5 6 7 8
| typedef struct{
quint32 id;
QString path;
QString name;
QString artist;
QString album;
qint64 length;
} TrackInfo; |
La deuxième concerne l'en-tête des playlists:
Code:
1 2 3 4 5
| typedef struct{
quint8 id;
QString path;
QString name;
} PlaylistHeader; |
La dernière concerne les playlists dans leur totalité:
Code:
1 2 3 4
| typedef struct{
PlaylistHeader h; //en-tête
QList<TrackInfo> c; //contenu
} Playlist; |
Dans mon programme, pour gérer toutes mes playlists, j'ai déclaré le pointeur suivant:
Code:
QList<Playlist>* playlists = new QList<Playlist>;
Pour ajouter un morceau de musique à la première playlist de ce pointeur, je dois alors écrire:
Code:
1 2 3 4 5
| TrackInfo newTrack;
//Je définis chacun des éléments de newTrack
playlists->at(0).c.append(newTrack); |
Hélas! ça ne marche pas: lorsque je lance la compilation, le compilateur finit à chaque fois par me gronder avec le message suivant:
Citation:
Envoyé par l'affreux compilateur rétif
passing 'const QList<TrackInfo>' as 'this' argument of 'void QList<T>::append(const T&) [with T = TrackInfo]' discards qualifiers.
Je ne comprends guère ce message d'erreur et ne vois absolument pas d'où peut provenir la dite erreur. Un peu d'aide ne serait pas de refus.
Merci d'avance.
Adishatz!