アプリ制作のためにXcodeでC++を使っています。boost::optionalを使用していますが、

'...' is a protected member of
'boost::optional_detail::optional_base>'

というエラーが8個出ます。...は、以下のtypedefのvalue_type, reference_type, ... にあたります。

template<class T>
class optional : public optional_detail::optional_base<T>
{
    typedef optional_detail::optional_base<T> base ;

  public :

    typedef optional<T> this_type ;

    typedef BOOST_DEDUCED_TYPENAME base::value_type           value_type ;
    typedef BOOST_DEDUCED_TYPENAME base::reference_type       reference_type ;
    typedef BOOST_DEDUCED_TYPENAME base::reference_const_type reference_const_type ;
#ifndef  BOOST_NO_CXX11_RVALUE_REFERENCES
    typedef BOOST_DEDUCED_TYPENAME base::rval_reference_type  rval_reference_type ;
    typedef BOOST_DEDUCED_TYPENAME base::reference_type_of_temporary_wrapper reference_type_of_temporary_wrapper ;
#endif
    typedef BOOST_DEDUCED_TYPENAME base::pointer_type         pointer_type ;
    typedef BOOST_DEDUCED_TYPENAME base::pointer_const_type   pointer_const_type ;
    typedef BOOST_DEDUCED_TYPENAME base::argument_type        argument_type ;

また、my_template_classですが、

template<class T> class my_template_class
{
private:
  T member_;
  ...
}

という風に定義されていて、

Field has incomplete type 'テンプレート引数に入れたクラス名'

というコンパイルエラーも出ています。どのように解決すればよいでしょうか。