Qt: champ de type incomplète

Ne peux pas compiler ma classe.
Erreur:
erreur: le champ 'nom de fichier' a incomplète de type

Si je change QString filename à QString *filename, l'erreur va.. mais j'ai besoin d'avoir QString filename.

processus.h:

#ifndef PROCESS_H
#define PROCESS_H

#include <QString>

class Process
{
public:
    int pid;
    QString filename;
    Process(int pid, QString filename);
};

#endif //PROCESS_H

process.cpp:

#include "process.h"

Process::Process(int pid, QString filename)
{
    this->pid = pid;
    this->filename = filename;
}

Quel est le problème?

Ce code a l'air bien, je pense que le problème doit se situer quelque part d'autre. Êtes-vous sûr que vous pouvez reproduire le problème avec ce code exact?
C'est que l'ensemble de l'en-tête? Si pas, assurez-vous que vous n'avez pas de déclaration anticipée pour QString classe entre le QString l'en-tête et le Processus déclaration de classe.
C'est l'ensemble de l'en-tête. Si je créer empy projet tout fonctionne bien.
Mais dans mon projet il y a beaucoup de fichier, qui utilisent #include "process.h" et #include <QString>.
Dans ce cas Zlatomir est droit. De faire avancer les choses déclare votre classe et à l'avant, y compris l'en-tête. Recherche de votre code "de la classe QString" et de voir si vous pouvez éviter cela.

OriginalL'auteur Denis Kildishev | 2013-06-14