J'utilise Qt 4.5, donc C++. J'ai une classe comme çaDéclaration des variables struct dans l'autre classe quand elles sont obtenues par getters
class CClass1
{
private:
struct stModelDetails
{
QString name;
QString code;
..... // only variables and no functions over here
};
QList<stModelDetails> m_ModelDetailsList;
public:
QList<stModelDetails> getModelDetailsList();
...
};
Dans ce que j'ai des fonctions qui peupleront la m_ModelDetailsList;
J'ai une autre classe disent CClassStructureUsage
, où je vais appeler la fonction getModelDetailsList()
. Maintenant, mon besoin est que je dois traverser le QList et obtenir le name
, code
de chacun des stModelDetails
.
Maintenant le problème est même Le fichier d'en-tête CClass1 est inclus il n'est pas capable d'identifier le type de stModelDetails dans CClassStructureUsage
. Quand je reçois la liste de la structure par
QList<stModelDetails> ModelList = obj->getModelInformationList();
il dit stModelDetails
: identificateur non déclaré.
Comment puis-je récupérer les valeurs de la structure? Est-ce que je fais quelque chose de mal ici?
Non, je dois obtenir toutes les valeurs de la structure. Je viens de donner un exemple dans le code. Mais votre deuxième point est valable. Je vais y penser. Mais est-ce une bonne pratique de n'avoir que la déclaration de structure dans un fichier d'en-tête et de l'inclure là où c'est nécessaire? Prenez ma question comme un exemple pour le scénario. – liaK
@liaK: eh bien, si vous avez besoin de toute la structure, c'est certainement une bonne idée de définir cette structure, oui. –
Je vais marquer la vôtre comme la réponse à l'approche que vous avez indiquée en fonction de l'accès aux données. – liaK