Agoston Bejo wrote:
Has anyone succeeded in specializing class templates with enable_if under VC++7.1?
Yes, I do it once in a while. I'd do it more if I didn't have to support old compilers.
I have created the simplest example possible and cannot imagine how I could rewrite so that no Internal Compiler Error occurs.
Obviously the ICE is a microsoft bug. It occurs in VC8.0 beta, too, so it should
be reported.
However, the real problem is that int and float both satisfy is_object and
is_arithmetic, so two partial specializations match equally well.
Here's the output from como 4.3.3:
"C:\DOCUME~1\turkanis\Home\C++\overloadvc71\example.cpp", line 31: error: more
than one partial specialization matches the template argument list
of class "A