update: minimal code reproduce error: in typetraits.hpp:
namespace fl { namespace utilities { template <class t> struct remove_reference { using type = t; }; template <class t> struct remove_reference<t&> { using type = t; }; template <class t> struct remove_reference<t&&> { using type = t; }; } } in typetraits.h
#include "typetraits.hpp" namespace ftd { template <class t> using remove_reference = fl::utilities::remove_reference<t>; } in utility.h:
#include "typetraits.h" namespace ftd { template <class t> constexpr t&& forward(typename remove_reference<t>::type& t) noexcept { return static_cast<t&&>(t); } template <class t> constexpr t&& forward(typename remove_reference<t>::type&& t) noexcept { return static_cast<t&&>(t); } } first occasion uses forward function: in list.hpp
#include "utility.h" namespace fl { namespace containers { struct nodebase { /* code... */ }; /* code... */ template <class t> struct listnode : public nodebase { /* code... */ template <class... args> listnode(args&&... args) : m_data(ftd::forward<t>(args)...) {} /* code... */ t m_data; }; } } the error: no template named 'remove_reference'; did mean 'std::remove_reference'?
Comments
Post a Comment