回 帖 发 新 帖 刷新版面

主题:紧急求救

这是头文件中的一段:
………

/** Main class for DTN */
class DTNAgent : public Agent {
public:
  DTNAgent();

  virtual int command(int argc, const char*const* argv);
  virtual void recv(Packet*, Handler*);
  Packet* DTNAgent :: newpacket(int size);
  void sendPacket(Packet* pkt);
  virtual void sendmsg(int nbytes, const char* flags=NULL);
  int custodian(){return custodian_;}  /**< Accepting custody. */
  double retransmit(){return retransmit_;} /**< Retransmission interval. */

 private:
  Routes* routes_;      /**< The routes list.                              */
  BundleManager* bm_;   /**< The bundlemanager.                            */
  Registration* reg_;   /**< Registraton handler.                          */
  char* src_;           /**< Application bundle source endpoint id.        */
  char* dest_;          /**< Application bundle destination endpoint id.   */
  char* rpt_to_;        /**< Application bundle report to endpoint id.     */
  char* cos_;           /**< Application bundle priority.                  */
  char* options_;       /**< Application bundle options.                   */
  char* lifespan_;      /**< Application bundle lifespan.                  */
  int custodian_;       /**< Accepting custody.                            */
  double retransmit_;   /**< Retransmission interval.                      */
};

……
在相应的.cc文件编译的时候,这部分代码报错:

……
[color=FF0000]DTNAgent :: DTNAgent() : Agent(PT_DTNBUNDLE), src_(NULL),  dest_(NULL), rpt_to_(NULL), cos_(NULL), options_(NULL), lifespan_(NULL)
……[/color]说是找不到PT_DTNBUNDLE,哪位仁兄能指点一下啊

回复列表 (共1个回复)

沙发

Agent(PT_DTNBUNDLE)调用Agent的构造器,但没有代码,只好猜一下,Agent有一个带参数的构造器,PT_DTNBUNDLE可能是个宏,也可能是const常量,如果报的错是找不到的话,猜想可能是PT_DTNBUNDLE声明所在的文件没有被包含到
DTNAgent :: DTNAgent() : Agent(PT_DTNBUNDLE), src_(NULL),  dest_(NULL), rpt_to_(NULL), cos_(NULL), options_(NULL), lifespan_(NULL)
所在的文件中.
PT_DTNBUNDLE可能是某个库的,也可能是你自己定义的,找到它在什么文件中,包含进入(#include).

我来回复

您尚未登录,请登录后再回复。点此登录或注册