I have a set of classes I am using that creates run-time checking of tensor dimensions (instead of compile-time checking) for purposes of promotion into Python.  Everything works grand on windows using the MSVC++ .NET 2003 compiler. on linux using gcc3.2 or gcc3.4.3 there is a problem.
 
I have attached a set of files that are causing the problems.
 
The 'doit' script will compile the files (and thus show off the error.
 
The 'out.log' is the output from my failed compile.
 
I have been wracking my brain trying to figure this out, so it is probably something pretty obvious.  Any suggestions / help would be greatly appreciated.
 
It is interesting to not that I only get this error when attempting to do a multiplication of two tensors consisting of my Complex class (included).
 
And getting rid of my Complex class is not an option as it acts as a bridge btween std::complex<double> and gsl_complex (the GSL library).
 
Thanks,
--James Evans