C++: les Conflits avec une précédente déclaration?

Je suis en train de travailler sur cette mission, et je reçois un message d'erreur pour un apparemment déclarée précédemment méthode. Ici est la .h fichier:

#ifndef DLLIST_H
#define DLLIST_H

#include <iostream>
#include <fstream>
#include <cstddef>
#include "DListNode.h"

typedef int ItemType;

class DLList
{
private:
  friend std::ostream & operator<< (std::ostream & out, DLList & other);
  int size;
  int * head;
  int * tail;

  void _copy(const DLList * toCopy);
  void _dealloc();

public:
  DLList();
  DLList(const DLList & toCopy);

  ~DLList();

  DLList & operator=(const DLList & toCopy);

  int size();
  void append(ItemType item);
  void insert(int index, ItemType item);
  ItemType pop(int index);
  ItemType pop();
  const DListNode & operator[] (int idx);

};

std::ostream & operator<< (std::ostream & out, const DLList & d);

#endif

L'erreur est déclenché à int size();, en disant qu'il est en conflit avec une précédente déclaration. Je sais que cela serait normalement découler de m'y compris ce fichier d'en-tête à plusieurs reprises, mais je ne vois pas où ça se passe. Ces inclure des instructions pour tous les fichiers dans le projet:

#include "DLList.h" //DLList.cpp
=======================================
#include "DListNode.h" //DListNode.cpp
=======================================
#include <iostream> //DListNode.h
#include <fstream>
#include <cstddef>
=======================================
#include "DLList.h" //This is the main test file
#include "DListNode.h"
#include <iostream>

Je peux voir que DListNode.h est techniquement être inclus deux fois, mais nulle part DLList.h inclus plus d'une fois. Suis-je en faisant une erreur stupide et de ne pas le voir? (Probablement le cas). Merci pour toute aide!

OriginalL'auteur Martin | 2012-12-04