diff --git a/include/boost/type_traits/aligned_storage.hpp b/include/boost/type_traits/aligned_storage.hpp index 8ad00a20e0..d8e26aa9be 100644 --- a/include/boost/type_traits/aligned_storage.hpp +++ b/include/boost/type_traits/aligned_storage.hpp @@ -42,21 +42,20 @@ struct aligned_storage_imp { union data_t { - char buf[size_]; - + unsigned char buf[size_]; typename ::boost::type_with_alignment::type align_; } data_; - void* address() const { return const_cast(this); } + void* address() const { return const_cast(data_.buf); } }; template struct aligned_storage_imp { union data_t { - char buf[size]; + unsigned char buf[size]; ::boost::detail::max_align align_; } data_; - void* address() const { return const_cast(this); } + void* address() const { return const_cast(data_.buf); } }; template< std::size_t alignment_ >