Samuel wrote:
VC 6 has an option for Run-Time Type Information (RTTI) that is normally off. I was able to compile and execute a sample program that had a problem. I noticed that Boost uses RTTI (such as the dynamic_cast operator), so I checked to see if the option was on; it was not. I turned the option on and the program worked.
That problem is probably a known problem, but something such as the following can be added somewhere to not allow a VC 6 program to even compile if the RTTI option is off. I think it could make things a little easier for some beginners.
# if !defined(_CPPRTTI) # error "Boost requires use of RTTI" # endif
Some parts of Boost need RTTI, some do not. It is not reasonable to reject a program that doesn't ever invoke a dynamic_cast on a polymorphic type (which is a level 1 warning IIRC) just because it happens to include a boost header.