diff --git a/libsrc/general/ngsimd.hpp b/libsrc/general/ngsimd.hpp index 92bf608b..e38b4e3c 100644 --- a/libsrc/general/ngsimd.hpp +++ b/libsrc/general/ngsimd.hpp @@ -484,7 +484,8 @@ using std::fabs; template SIMD & Get() { return NR==0 ? head : tail.template Get(); } auto MakeTuple() { return std::tuple_cat(std::tuple&> (head), tail.MakeTuple()); } - operator auto () { return MakeTuple(); } + // not yet possible for MSVC + // operator auto () { return MakeTuple(); } }; template @@ -507,7 +508,7 @@ using std::fabs; template SIMD & Get() { return NR==0 ? v0 : v1; } auto MakeTuple() { return std::tuple&, SIMD&> (v0, v1); } - operator auto () { return MakeTuple(); } + operator std::tuple&, SIMD&>() { return MakeTuple(); } }; template NG_INLINE MultiSIMD operator+ (MultiSIMD a, MultiSIMD b)