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