在过去的三个小时里,我对以下编译错误感到非常困惑.谁能告诉我这里发生了什么?
我试图将log :: formatter(下面标记)定义为它自己的变量,因此它可以在几个地方重复使用.但是,尝试重新使用它时出现编译错误.
但是,如果我完全摆脱该变量,而是复制并粘贴代码,它就会编译.有没有搞错?有什么办法可以做我想要的吗?
boost::shared_ptr<log::core> logger = log::core::get();
logger->set_logging_enabled( enabled );
logger->set_filter(trivial::severity >= level);
logger->add_global_attribute(
"TimeStamp", attr::local_clock());
logger->add_global_attribute(
"ProcessID", attr::current_process_id());
logger->add_global_attribute(
"ThreadID", attr::current_thread_id());
// want this to be it's own variable
log::formatter fmt = expr::stream
<< "[" << expr::format_date_time< boost::posix_time::ptime >("TimeStamp", "%d.%m.%Y %H:%M:%S.%f") << "] "
<< "[" << expr::attr< attr::current_process_id::value_type >("ProcessID") << "] "
<< "[" << expr::attr< attr::current_thread_id::value_type >("ThreadID") << "] "
<< "[" << expr::attr< std::string >("Channel") << "] "
<< "[" << expr::attr< severity_level >("Severity") …Run Code Online (Sandbox Code Playgroud)