Closed GreenGary closed 4 years ago
I think adding template function declarations for complex types to linear_algebra.h is the proper way. I have added a commit with this change but cannot check if this compiles with MSVC. Please check if it compiles just merge this PR if it does not compile I'm happy to merge our proposal (without my commit on top of it)
MSVC does not consider the operators from linear_algebra_complex.h if they are declared after usage, e.g. in Vector operator*(&x, &alpha) {} The fix in testast.cc solves compile issues, but the responsibility to include in correct order remains at the library user. A permanent fix would be to add
#include "fmatvec/linear_algebra_complex.h"
tolinear_algebra.h
. I preferred the other solution, because I cannot decide, if this is a desired dependency between these two headers. Or if e.g. a third public header would be better, that includes all internal headers in the correct order.BTW: The error message is pointing into the wrong direction...