From: Bertrand Augereau (bertrand_at_[hidden])
Date: 2006-06-02 03:39:25
>This is the same problem that was worked around (by re-defining unnamed
>namespace) some time ago. The main template is defined inside unnamed
>namespace, and this definition is put into PCH. The template is specialized
>outside PCH. Since this is done in another TU, the unnamed namespace is
>different, and the system can't match the template and the specialization.
>The workaround works for VC71 and, I am pretty sure it worked for VC80 beta.
>Unfortunately it doesn't seem to work for VC80 express :(
>I believe this is a bug in the compiler, since the use of PCH should be
>transparent. The fact that PCH is created when another TU is compiled is an
>implementation detail, and should not prevent legal C++ code from being
>compiled (anybody knows if it's possible to report bugs to Microsoft?).
http://lab.msdn.microsoft.com/productfeedback/ seems to be the place to
do such a thing (never done it myself).
I can find no reference to this bug of bad unnamed namespace/PCH
interaction yet, so maybe we are the first ones to notice such a thing.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk