我正在尝试实例化boost库中定义的以下类

在boost / interprocess / detail / segment_manager_helper.hpp中定义

 template<class CharType>
 class char_ptr_holder
 {
   public:
    char_ptr_holder(const CharType *name)
    : m_name(name)
   {}

  char_ptr_holder(const anonymous_instance_t *)
     : m_name(static_cast<CharType*>(0))
  {}

  char_ptr_holder(const unique_instance_t *)
    : m_name(reinterpret_cast<CharType*>(-1))
  {}

  operator const CharType *()
  {  return m_name;  }

  private:
   const CharType *m_name;
};


但是我不能。我很困惑,因为m_name是一个指针,但是在初始化列表中使用CharType *的参数对其进行了“构造”。

救命

最佳答案

例如

char_ptr_holder<char> value("Hello!");

09-06 14:45