Christopher Kormanyos
writes:
* OK for GCC 4.7.2 * Errors for VC10 (ambiguous symbols), AKA VisualStudio 2010 * Errors for VC11 (ambiguous symbols), AKA VisualStudio 2012
Sorry. I've misinterpreted MSVC output. I do see the error now. And... this is really weird one. I did not see something like this in a long time. What it comes to can be illustrated in this example:
<snip code sample>
I'm sure it can be simplified further by removing specifics of multiprecision library. And the offending line is ... the template instantiation, in unrelated namespace HAS NOTHING TO DO with enable_if at all.
So if I understand, we are actually dealing with a compiler issue here regarding the proper resolution of namespaces. Is that what you are saying? <snip>
Any hints are welcome. Gennadiy
I think it would be best to qualify enable_if and disable_if with the boost namespace in multiprecision. John, what is you opinion? But you are right in principle, it seems to be a compiler issue. I apologize for wrongly involving your code in this test case. Gennadiy, do you really want to go the hard road and use symbols inject enable_if, etc. in namespaces in your code. It just seems like playing with fire since this symbol has such a clear meaning in C++11. It's your decision, but it would scare me enough to create my_enable_if, etc. But again, it seems as though your code is right and MSVC is wrong. Just a tough waiting game on a compiler issue like that. Have we cleared this one up now? Should I investigate anything further? John, should we decorate multiprecision? No Hurry here, it's something for 1.55. Sincerely, Chris.