小编Hel*_*ios的帖子

如何在cpp类中声明zeromq套接字

我正在尝试使用 zmq 创建一个通用节点,该节点将形成动态计算图,但是我在类中的 zmq 套接字的前向声明中遇到错误。我想知道是否有人可以阐明这一点?该类的精简版本是:

\n\n

节点.hpp

\n\n
/* \n *  node.hpp\n*/ \n\n#ifndef NODE_\n#define NODE_\n\n#include <iostream>\n#include "zmq.hpp"\n\nclass Node\n{\nprivate:\n    std::string name_;\n    std::ostream& log_;\n    zmq::context_t context_;\n    zmq::socket_t subscriber_;\n    zmq::socket_t publisher_;\n\npublic:\n    Node(std::ostream& log, std::string name);\n    void sendlog(std::string msg);\n};\n\n#endif // NODE_ \n
Run Code Online (Sandbox Code Playgroud)\n\n

节点.cpp

\n\n
/* \n *  node.cpp\n*/ \n\n#include <iostream>\n#include <string>\n#include "zmq.hpp"\n#include "node.hpp"\n\nNode::Node(std::ostream& log, std::string name): \n    log_(log),\n    name_(name)\n{\n    sendlog(std::string("initialising ") + name_);\n\n    zmq::context_t context_(1);\n    zmq::socket_t subscriber_(context_, zmq::socket_type::sub);\n    zmq::socket_t publisher_(context_, zmq::socket_type::pub);\n\n    subscriber_.connect("ipc:///tmp/out.ipc");\n    publisher_.connect("ipc:///tmp/in.ipc");\n\n    sendlog(std::string("finished initialisation"));\n}\n\nvoid Node::sendlog(std::string msg)\n{\n    this->log_ << msg << std::endl;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n …

c++ class forward-declaration zeromq

-1
推荐指数
1
解决办法
1988
查看次数

标签 统计

c++ ×1

class ×1

forward-declaration ×1

zeromq ×1