Quote Originally Posted by JohnW@Wessex View Post
As I've just discovered, this technique does not compile if any of the template parameters have copy constructors.
A union cannot have members that have non-trivial copy constructors.

Why not try this:
http://www.boost.org/doc/libs/1_54_0...l/variant.html

Regards,

Paul McKenzie