erreur: en avant la déclaration de struct

Je reçois l'erreur:

proprietario.cpp:36: error: invalid use of incomplete type struct Motocicleta
proprietario.h:12: error: forward declaration of struct Motocicleta

Motocicleta.h:

#ifndef __MOTOCICLETA__
#define __MOTOCICLETA__
#include <iostream>
#include "veiculo.h"
#include "proprietario.h"
using namespace std;
class Proprietario;
class Motocicleta:public Veiculo{

public:
  Motocicleta(int nPassageiros, string modelo, string placa, int aFabricacao, Proprietario* pai, int nRodas, int aro);
  ~Motocicleta();
  Motocicleta (const Motocicleta& source);
  Motocicleta& operator= (const Motocicleta& source);

  string toString();

};                     
#endif

Proprietario.h

#ifndef __PROPRIETARIO__
#define __PROPRIETARIO__

#include <iostream>
#include "motocicleta.h"
#include "caminhao.h"
#include "carreta.h"
#include "carro.h"

using namespace std;

class Carro;
class Carreta;
class Caminhao;
class Motocicleta;

class Proprietario{
protected:
  string nome;
  string cpf;
  Motocicleta* mMoto;
  Caminhao* mCaminhao;
  Carreta* mCarreta;
  Carro* mCarro;
};

Veiculo.h:

#ifndef __VEICULO__
#define __VEICULO__
#include <iostream>
#include "proprietario.h"
#include "roda.h"
#include "motor.h"

using namespace std;
class Motor;
class Proprietario;
class Veiculo{
protected:
  int nPassageiros;
  string modelo;
  string placa;
  int aFabricacao;
  Proprietario* pai;
  Roda* rodas;
  Motor* mMotor;
  int nRodas;
  };

J'ai enlevé les méthodes, parce que si j'ai ajouté à ceux que la question va être long, désolé, le code est PT-BR. J'ai vu que le problème est généralement est en avant de la déclaration. Mais je ne trouve pas le problème, j'ai regardé dans de nombreux forums, mais je ne trouve pas le problème..

Quelqu'un peut m'aider?

Besoin d'aucune autre partie du code?

Ligne en ligne? Poste le code à la ligne spécifiée dans le message d'erreur
ceux du rpc sont énormes, je vais ajouter que l'appel ^^
Dans votre précédente question, j'ai répondu que vous devez supprimer le comprend et laisser seulement les déclarations de l'avant si possible. Il me semble que vous êtes à la recherche de quelqu'un pour prendre votre code, de le corriger, et de publier la version corrigée.
Poste le contenu de proprietario.cpp. L'erreur ici est "invalid use of incomplete type ‘struct Motocicleta’", "forward declaration of ‘struct Motocicleta’" est juste une note utile (ce que votre compilateur a mis dans l'erreur pour vous aider).
J'ai résolu le problème.. j'ai besoin d'ajouter ces en-têtes dans le fichier cpp.. MERCI

OriginalL'auteur Lefsler | 2012-03-23