g++ “n'est pas le nom d'un type” d'erreur

Je travaille sur un petit projet pour mon des structures de classe et ont rencontré un problème même de la TA ne pouvais pas comprendre. Il a été suggéré que je post à ce sujet ici et je pourrais obtenir de l'aide. Donc, ici, il va:

Vue d'ensemble:
J'utilise g++ pour compiler un projet contenant un certain nombre d'en-tête (.h) les fichiers ainsi que leur mise en œuvre correspondant (.rpc) des fichiers. Le projet comporte 3 structures distinctes et de l'exécution d'un calendrier de comparaison entre eux. Les structures de mise en œuvre et de contre sont une binaire min tas, un mouvement de gauche tas, et une inclinaison de tas. Le min tas de mise en œuvre est terminée et il est la compilation de l'amende juste. Cependant, maintenant que je suis en déplacement sur les autres structures, je suis en cours d'exécution dans ce que je suppose (je sais) est une erreur du compilateur.

La Question
Je suis rajouté les fichiers stub pour les électeurs de gauche et de tas ont frappé un mur de briques autant que le compilateur est concerné. En particulier, j'obtiens une erreur qui se lit comme suit:

leftHeap.cpp:15:1: error: LeftistHeap does not name a type

Le Code
Voici un coup d'oeil au code:

leftHeap.h

#ifdef LEFTHEAP_H
#define LEFTHEAP_H

class LeftistHeap{

 public:
  int *root;
  LeftistHeap();
  ~LeftistHeap();
};

#endif

leftHeap.cpp

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <stdio.h>
#include <math.h>
#include "leftHeap.h"
using namespace std;

//Constuctor
LeftistHeap::LeftistHeap(){

 root = NULL;
}

Le seul autre endroit que leftHeap.h est inclus dans le main.cpp

main.cpp

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <stdio.h>
#include <math.h>
#include "minHeap.h"
#include "leftHeap.h"
#include "skewHeap.h"
using namespace std;


int main(){
...

voici le makefile que j'utilise:

makefile

all: lab10

lab10: comparison.o minHeap.o leftHeap.o skewHeap.o
        g++ comparison.o minHeap.o leftHeap.o skewHeap.o -o lab10

comparison.o: comparison.cpp
    g++ -c comparison.cpp

minHeap.o: minHeap.h minHeap.cpp
    g++ -c minHeap.h minHeap.cpp

leftHeap.o: leftHeap.h leftHeap.cpp
    g++ -c leftHeap.h leftHeap.cpp

skewHeap.o: skewHeap.h skewHeap.cpp
    g++ -c skewHeap.h skewHeap.cpp

clean:
    rm lab10 *.o

et juste pour être plus approfondie, j'ai également essayé un plus minimaliste makefile

makefile (2)

test:
    g++ minHeap.h leftHeap.h skewHeap.h comparison.cpp minHeap.cpp leftHeap.cpp skewHeap.cpp -o lab10
clean:
        rm lab10 *.o

J'espère que c'est pas de l'info de surcharge. S'il vous plaît laissez-moi savoir si quelqu'un a des idées sur ce. J'ai regardé les autres g++ "n'est pas le nom d'un type de" questions ici (et un couple de pleine page des recherches google en tant que bien) mais je n'ai pas trouvé quelque chose qui peut rendre compte de cela. J'ai cette intuition qu'il peut être quelque chose de simple que j'ai négligé, mais toute aide serait grandement appréciée.

Merci!

InformationsquelleAutor AtomDrake | 2013-04-09