From: Carl Daniel (cpdaniel_at_[hidden])
Date: 2003-03-11 10:16:53
Joel de Guzman wrote:
> What compiler errors are you getting? If it's the attached "Buffer
> overrun detected!" error, then that's clearly a VC7.1 compiler bug.
I was able to reproduce Viv's problem using VC7.1 RC3 and the Boost 1.30.0
beta 1 release. It appears that the buffer overrun is related to expression
complexity during template instantiation. In Viv's example, if you remove
any one of the several pairs of bind() calls from the definition of field,
the error doesn't occur.
My guess is that it's realted to the mangled name of the type that's being
formed by such expressions - these names can get mind=numbingly long.
This bug has been reported to MS, but it's probably too late for it to be
fixed in VC7.1 RTM, so all Boosters should be aware of it - if you see
buffer overruns from cl.exe, look to refactor or simplify.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk