2013-10-21 5 views
0

이전에 예상되는 클래스 이름은 두 개의 헤더 파일입니다. 자녀 및 부모. 누구든지이 오류가 발생하는 이유를 설명 할 수 있습니까? 사전에{토큰

감사

SampleApplication.h :

#ifndef SAMPLEAPPLICATION_H_ 
#define SAMPLEAPPLICATION_H_ 

#include "ns3/CcnModule.h" 
#include "ns3/CCN_Name.h" 
#include <string> 

class CcnModule; 

class SampleApplication : public ns3::Application 
{ 

    public: 
    ns3::Ptr<CcnModule> ccnm; 


    static ns3::TypeId GetTypeId(void); 
    virtual ns3::TypeId GetInstanceTypeId (void) const; 
    SampleApplication(); 
    SampleApplication(ns3::Ptr<CcnModule> ccnm); 
    virtual ~SampleApplication(); 
    char* data; 
    int length; 
    ns3::Ptr<CCN_Name> dataName; 
    void SendInterest(ns3::Ptr<CCN_Name> n); 

    void SendData(ns3::Ptr<CCN_Name> data, char* buff, int bufflen); 
    virtual void InterestReceived(ns3::Ptr<CCN_Name> ccnn); 
    virtual void DataArrived(ns3::Ptr<CCN_Name> data, char* buff, int bufflen); 

    void AnnounceName(ns3::Ptr<CCN_Name> n); 

    virtual void DoDispose(); 
    virtual void DoInitialize(); 
}; 

#endif 

Receiver.h :

#ifndef RECEIVER_H_ 
#define RECEIVER_H_ 


#include "ns3/CcnModule.h" 
#include "ns3/CCN_Name.h" 
#include <string> 
#include <vector> 
#include "ns3/SampleApplication.h" 


class CcnModule; 
//class SampleApplication; 

class Receiver : SampleApplication 
{ 

    public: 

    static ns3::TypeId GetTypeId(void); 
    virtual ns3::TypeId GetInstanceTypeId (void) const; 
    Receiver(ns3::Ptr<CcnModule> ccnm); 

    virtual ~Receiver(); 

    void SendInterest(ns3::Ptr<CCN_Name> n); 

    virtual void DataArrived(ns3::Ptr<CCN_Name> data, char* buff, int bufflen); 
}; 

#endif 
+1

이 오류는 어떤 행에서 발생합니까? –

+0

클래스 수신자 : SampleApplication { 여기서는 SampleApplication이 클래스가 아닌 것처럼 보입니다. – Range

+1

이것은 기본적으로'SampleApplication'이 타입으로 인식되지 않는다는 것을 의미합니다. 즉, 헤더 파일을 포함 할 때 잘못된 점이 있음을 의미합니다. 원형 의존성을 가지므로 (또는 사용중인 지점에서 보이지 않음) 중첩 된 네임 스페이스에 있고 보이지 않습니다. 이것을 문제를 재현 할 수있는 작은 컴파일 가능한 예제로 줄일 수 있습니까? –

답변

0

난 당신이 사용하는 라이브러리에 익숙하지 오전하지만 그것은 NS 추측하고있다 -3 이산 이벤트 네트워크 시뮬레이터 및 API의 간단한 개요에서 볼 수있는 내용은 다음과 같습니다.

#include "ns3/application.h" 

SampleApplication.h 파일에 있습니다.

구현에 포함 된 일부 항목에 이미 포함되어 있지만 처음에는 누락 된 것으로 보일 수 있습니다.