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
이 오류는 어떤 행에서 발생합니까? –
클래스 수신자 : SampleApplication { 여기서는 SampleApplication이 클래스가 아닌 것처럼 보입니다. – Range
이것은 기본적으로'SampleApplication'이 타입으로 인식되지 않는다는 것을 의미합니다. 즉, 헤더 파일을 포함 할 때 잘못된 점이 있음을 의미합니다. 원형 의존성을 가지므로 (또는 사용중인 지점에서 보이지 않음) 중첩 된 네임 스페이스에 있고 보이지 않습니다. 이것을 문제를 재현 할 수있는 작은 컴파일 가능한 예제로 줄일 수 있습니까? –