c++ - '&' 标记 C++ 之前应为 ')'
问题描述
我有以下类定义。在尝试构建它时,我遇到了奇怪的错误。我在这里没有看到任何错误。有任何想法吗?
#ifndef SERVER_H
#define SERVER_H
#include <boost/asio.hpp>
#include <boost/asio/io_service.hpp>
#include "room.h"
#include "person_session.h"
class Server{
private:
boost::asio::ip::tcp::acceptor acceptor;
Room room;
void accept();
public:
Server(boost::asio::io_context& ioc, boost::asio::ip::tcp::endpoint& endpoint):acceptor(ioc,endpoint){
accept();
}
};
#endif
expected ‘)’ before ‘&’ token Server(boost::asio::io_context& ioc, boost::asio::ip::tcp::endpoint& endpoint):acceptor(ioc,endpoint){} ^ CMakeFiles/server.dir/build.make:134: recipe for target 'CMakeFiles/server.dir/src/server.cpp.o' failed make[2]: *** [CMakeFiles/server.dir/src/server.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/server.dir/all' failed make[1]: *** [CMakeFiles/server.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2
解决方案
io_context
是在 Boost 1.66 中添加的一个新名称,用于与 C++ Networking TS 兼容。您必须使用较旧的 Boost 版本。
此页面表明旧名称为io_service
,并且此名称也将在新版本中得到支持。
推荐阅读
- angular - 以 Angular 8 引用 Angular 材料为例,将组件注入到组件中
- javascript - Sails.js 测试中的超时问题
- flutter - 当用户单击平面按钮时如何在颤动中显示奖励视频
- java - Tomcat 7.0 版本上的 spring boot 2.2.1 Web 应用程序部署问题
- maven - 执行 org.apache.maven.plugins:maven-site-plugin:3.7.1:site:org/apache/maven/reporting/AbstractMavenReport 时缺少必需的类
- c - C程序执行成功显然取决于文件名
- java - 如何解决 PDFBox 中没有 unicode 映射错误?
- javascript - 使用 AJAX 或 jquery 登录到另一个站点而不重新加载页面
- r - 熔化 data.table 时如何指定一个空的 id.vars 向量?
- c++ - 为什么将数据从文本文件移动到数组时无法获得正确的输出