
Hello and help. I would like to see what all the fuss is about, but I can't even get the simple "Hello World" sample program to build in my environment. I'm using boost_1_34_1 along with Visual Studio 2005. Down below are the errors that I get when I try. Either I'm not doing something right, or the BOOST_SCOPE_EXIT macro is not yet ready for prime-time. Normally, I'd try and solve these problems on my own, but I don't understand what's supposed to go on behind the scenes in order to make any intelligent changes here. Help please if you can. -Sid Sacek #include <iostream> #include <ostream> #include <string> #include <boost/scope_exit.hpp> #include <boost/typeof/std/string.hpp> int main() { try { std::string hello("Hello"), world("World"); BOOST_SCOPE_EXIT( (hello)(world) ) { std::clog << world << ", " << hello << "!\n"; } BOOST_SCOPE_EXIT_END std::cout << hello << ", " << world << "!\n"; // other code } catch(...) {} /* ^ "World, Hello\n" is printed at this point */ } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ------ Build started: Project: console2005, Configuration: Debug Win32 ------ Compiling... ScopeExit.cpp using typeof emulation g:\zzz this folder\boost_1_34_1\boost\typeof\encode_decode.hpp(47) : error C2504: '`anonymous-namespace'::boost_typeof::encode_type_impl<V,Type_Not_Registered _With_Typeof_System>' : base class undefined with [ V=boost::type_of::vector0<>, Type_Not_Registered_With_Typeof_System=boost::detail::scope_exit::wrapper<st d::string> ] g:\console2005\console2005\scopeexit.cpp(17) : see reference to class template instantiation 'boost::type_of::encode_type<V,T>' being compiled with [ V=boost::type_of::vector0<>, T=boost::detail::scope_exit::wrapper<std::string> ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type
::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item0' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item1' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item2' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item3' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item4' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item5' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item6' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item7' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item8' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item9' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item10' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item11' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item12' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item13' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item14' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item15' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item16' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item17' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item18' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item19' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item20' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item21' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item22' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item23' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item24' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item25' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item26' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item27' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item28' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item29' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item30' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item31' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'enable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::type ::type boost::type_of::encode(T &)' With the following template arguments: 'boost::type_of::vector0<>' 'boost::detail::scope_exit::wrapper<T>' with [ T=std::string ] g:\console2005\console2005\scopeexit.cpp(17) : error C2228: left of '.item32' must have class/struct/union g:\console2005\console2005\scopeexit.cpp(17) : error C2893: Failed to specialize function template 'disable_if<is_function<T>::type,boost::type_of::sizer<encode_type<V,T>::typ e>>::type boost::type_of::encode(const T &)' g:\console2005\console2005\scopeexit.cpp(17) : fatal error C1003: error count exceeds 100; stopping compilation Generating Code... Build log was saved at "file://g:\console2005\console2005\Debug\BuildLog.htm" console2005 - 102 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========