
Hello, this header file contains the following code: void* apply (void* address, std::size_t n) const { for(char* next = address = this->apply(address); !! --n;) this->apply(next = next+sizeof(T)); return address; } Tru64/CXX rightly voices objections when compiling this code, used for example by optional_test_inplace: cxx: Error: ../../../boost/utility/typed_in_place_factory.hpp, line 57: a value of type "void *" cannot be used to initialize an entity of type "char *" (D:badinittyp) for(char* next = address = this->apply(address); !! --n;) ---------------------^ Attached patch contains a fix for this. OK to commit? Regards, Markus Index: typed_in_place_factory.hpp =================================================================== --- typed_in_place_factory.hpp (revision 39872) +++ typed_in_place_factory.hpp (working copy) @@ -54,8 +54,8 @@ void* apply (void* address, std::size_t n) const { - for(char* next = address = this->apply(address); !! --n;) - this->apply(next = next+sizeof(T)); + for(void* next = address = this->apply(address); !! --n;) + this->apply(next = static_cast<char *>(next) + sizeof(T)); return address; }