Boost add_console_log对二进制表达式错误产生无效操作数
Boost add_console_log yields invalid operands to binary expression error
我有以下简单的设置:
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/utility/setup/console.hpp>
#include <boost/log/sources/severity_logger.hpp>
#include <boost/log/expressions/keyword.hpp>
namespace mynamespace
{
namespace keywords = boost::log::keywords;
namespace expr = boost::log::expressions;
enum SeverityLevel
{
Trace,
Debug,
Info,
Warning,
Error,
Critical
};
class LoggingConfig
{
public:
void init()
{
// Add default console logging sink
auto format = expr::stream << expr::message;
boost::log::add_console_log(std::cout, keywords::format=format);
};
};
}
编译得到:
/Users/iulian/ClionProjects/project/util/logging.hpp:33:40: error: invalid operands to binary expression ('const stream_type' (aka 'const actor<base_type>') and 'const message_type' (aka 'const attribute_keyword<tag::message>'))
auto format = expr::stream << expr::message;
~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~
我已经看到了许多配置格式的例子,等等,以类似的方式,我正在尝试上面。为什么这个不能编译?
这是非常愚蠢的-我错过了正确的包括…具体来说:
#include <boost/log/expressions.hpp>
#include <boost/log/sources/record_ostream.hpp>
相关文章:
- 错误:无效的预处理指令 #i 的意思是 #if?
- is_same和variadic模板编译时错误无效转换
- printf 和 strftime 的参数错误无效
- 错误:无效使用非静态成员函数"int test::hotplug_callback(libusb_contex
- 我收到一个错误无效的操作数,类型为 const char [42] 和二进制"运算符+"的双倍数
- 错误:无效使用无效
- 发布信号量返回错误 6(无效句柄)
- C++17 可选树,错误:无效使用不完整的类型
- C++ 线程函数指针实现返回错误无效使用非静态成员函数
- 在测试中使用unique_ptr时指针错误无效
- 使用 malloc 而不是 new 会导致 free():指针错误无效
- valgrind错误无效读数4
- X11 XGetImage badmatch错误(无效的参数属性)
- free():C++中的指针错误无效
- 使用 valgrind 的地图中的读取大小错误无效
- 错误:无效的基类C
- 错误:无效使用了void表达式C++
- C++链接错误.无效
- free()错误:无效的下一个大小(fast)
- 我收到错误"无效使用不完整的类型'class map'