Почему мой код генерирует синтаксическую ошибку?

Следующий код C++ генерирует эту ошибку:

ошибка C2061: синтаксическая ошибка: идентификатор 'IObject'

Вот мой код:

файл : IObject.h

#include "IIStreamable.h"
using namespace Serialization;
namespace Object
{
    class IObject : public IIStreamable
    {
        virtual void AcceptReader( IIReader* reader ); 
        virtual void AcceptWriter( IIWriter* writer );
    };
}

файл: IIWriter

#include "IObject.h"
#using namespace Object;
namespace Serialization
{
    class ICORE_API IIWriter
 {
public:
    // primitive "built in" value types
    virtual void writeChar(const char) =0;
    virtual void writeUChar(unsigned char) =0;
    virtual void writeCharPtr(const char*) =0;
    virtual void writeUCharPtr(const unsigned char*) =0;
    virtual void writeLong(long) =0;
    virtual void writeULong(unsigned long) =0;
    virtual void writeShort(short) =0;
    virtual void writeUShort(unsigned short) =0;
    virtual void writeInt(int) =0;
    virtual void writeUInt(unsigned int) =0;
    virtual void writeFloat(float) =0;
    virtual void writeDouble(double) =0;
    virtual void writeBool(bool) =0;
    virtual void writeObject(IObject*) =0;
    };
 }

файл: IIStreamable

#include "IIReader.h"
#include "IIWriter.h"
namespace Serialization
{

class ICORE_API IIStreamable
    {
    public:
    virtual void AcceptReader(IIReader*) = 0;
    virtual void AcceptWriter(IIWriter*) = 0;
    };
 }

после компиляции этого кода в vc++ 2010 я получил эту ошибку

Ошибка C2061: синтаксическая ошибка: идентификатор 'IObject'

в файле IIWriter.h и ошибка

C2061: синтаксическая ошибка: идентификатор 'IIWriter'

в файле IObject.h и

ошибка C2061: синтаксическая ошибка: идентификатор 'IIWriter'

в файле IIStreamale.h.

Я не могу понять, почему возникает эта ошибка?

пожалуйста, помогите мне

спасибо

5
задан Benyamin Jane 11 June 2012 в 16:58
поделиться