diff --git a/src/include/high_level_operation.cc.h b/src/include/high_level_operation.cc.h index a9f89a3..8f3e430 100644 --- a/src/include/high_level_operation.cc.h +++ b/src/include/high_level_operation.cc.h @@ -61,10 +61,10 @@ namespace MultiArrayTools template auto HighLevelOpRoot::create(const std::shared_ptr ind1, const std::shared_ptr ind2) - -> typename B::RetT + -> typename B::template RetT { assert(0); - return typename B::RetT(); + return typename B::template RetT(); } template @@ -165,9 +165,9 @@ namespace MultiArrayTools template auto HighLevelOp::create(const std::shared_ptr ind1, const std::shared_ptr ind2) - -> typename B::RetT + -> typename B::template RetT { - typename B::RetT res; + typename B::template RetT res; Create::template cx::template ccx::template cccx(res,mIn,ind1,ind2); return res; } diff --git a/src/include/high_level_operation.h b/src/include/high_level_operation.h index b7e1e3c..2957f4e 100644 --- a/src/include/high_level_operation.h +++ b/src/include/high_level_operation.h @@ -58,8 +58,9 @@ namespace MultiArrayTools virtual bool root() const override final; - virtual typename B::RetT create(const std::shared_ptr ind1, - const std::shared_ptr ind2) override final; + virtual typename B::template RetT + create(const std::shared_ptr ind1, + const std::shared_ptr ind2) override final; virtual const ROP* get() const override final; @@ -89,8 +90,9 @@ namespace MultiArrayTools virtual const ROP* get() const override final; - virtual typename B::RetT create(const std::shared_ptr ind1, - const std::shared_ptr ind2) override final; + virtual typename B::template RetT + create(const std::shared_ptr ind1, + const std::shared_ptr ind2) override final; };