
Peder Holt wrote:
It turns out that both versions of the source causes VC 6.5 to ICE. When used as a type computer, my version of the source is the best choice. When using an integral_c<int,N> as a variable representing an int, your version is the best choice.
I ended up implementing a local tailor made version of int_ that I used where the type compute approach was needed.
I don't know if this is what's causing your ICE, but it reminds me of a VC 6.5 bug I found a while ago for classes with int template parameters. The attached file causes an ICE, which can be prevented by uncommenting the class 'dummy'. At least, that's what happens for me. It's possible to trigger this ICE by including some boost headers in a specific, and slightly odd, order (sorry, I forget which headers). So, you might find that adding a class, with a member function, immediately before integral_c will stop the ICE. If so, it might be worth adding this workaround to all such classes. Although, I'm not really sure about this, since it's very odd. Daniel