
I get an error just including regex.hpp in a program that used to work on earlier VC versions. 1>c:\boost\include\boost-1_49\boost\regex\v4\regex_raw_buffer.hpp(184) : error C2665: 'operator new' : none of the 6 overloads could convert all the argument types 1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\new(57): could be 'void *operator new(size_t,void *) throw()' 1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\new(86): or 'void *operator new(size_t,const std::nothrow_t &) throw()' 1> while trying to match the argument list '(const char [64], long)' 1>c:\boost\include\boost-1_49\boost\regex\v4\perl_matcher_non_recursive.hpp(110) : error C2059: syntax error : '*' inline raw_storage::raw_storage(size_type n) { start = end = static_cast<pointer>(::operator new(n)); <--- offending line for first error BOOST_REGEX_NOEH_ASSERT(start) last = start + n; } struct save_state_init { saved_state** stack; save_state_init(saved_state** base, saved_state** end) : stack(base) { *base = static_cast<saved_state*>(get_mem_block()); *end = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(*base)+BOOST_REGEX_BLOCKSIZE); --(*end); (void) new (*end)saved_state(0); <---- offending line for second error ........... I looked to see if this was a known failure but apparently missed it if it was already covered. It is probably not a Boost problem. The earlier versions were compiled on 32 bit systems and this is a 64 bit system (Win7). I assume I have probably missed some configuration item to make this work. I am fairly certain I did compile this before under VC9 on a 32 bit system (Vista). (Boost was built from source on this system and this compiler.) Any pointers for resolution would be appreciated. Larry