如何解决导入命名空间模式 - 使用模式
我在最近的一个项目中得到了提升,我现在是 C++ 编程的本地人,我需要在项目中使用日志记录。 我从堆栈溢出的其他帖子中获得了一个示例代码,所以我有一个 cpp 和一个头文件。我使用的是最新版本的 Boost (1.77),但命名空间不同,我没有获得正确的命名空间。 事实上,我是 C++ 的新手。帮助代码如下:(header logger.h)
#include <map>
#include "boost/log/core.hpp"
#include "boost/log/trivial.hpp"
#include "boost/log/expressions.hpp"
#include "boost/log/sinks/text_file_backend.hpp"
#include "boost/log/utility/setup/file.hpp"
#include "boost/log/utility/setup/common_attributes.hpp"
#include "boost/log/sources/severity_logger.hpp"
#include "boost/log/sources/record_ostream.hpp"
#include "boost/log/sinks/async_frontend.hpp"
#include "boost/log/sources/basic_logger.hpp"
namespace boost = boost;
namespace sinks = boost::log::sinks;
namespace src = boost::log::sources;
namespace expr = boost::log::expressions;
namespace attrs = boost::log::attributes;
namespace keywords = boost::log::keywords;
using namespace boost::sources;
这些命名空间包含错误。比如我会贴出async_frontend.hpp的代码,它有命名空间层次结构,但是我不知道如何使用头类这种方式。
namespace boost {
BOOST_LOG_OPEN_NAMESPACE
namespace sinks {
#ifndef BOOST_LOG_DOXYGEN_PASS
#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1(z,n,data)\
template< typename T0 >\
explicit asynchronous_sink(T0 const& arg0,typename boost::log::aux::enable_if_named_parameters< T0,boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
base_type(true),\
queue_base_type(arg0),\
m_pBackend(boost::make_shared< sink_backend_type >(arg0)),\
m_ActiveOperation(idle),\
m_StopRequested(false),\
m_FlushRequested(false)\
{\
if (arg0[keywords::start_thread | true])\
start_Feeding_thread();\
这是一段代码,它具有此层次结构但不导入命名空间。我没有使用 msvc 中的 nuget 库,而是直接从文件夹中使用,导入标头。
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。