fix: [log] generic constructor may shadow the default copy constructor

This commit is contained in:
mutouyun 2022-08-14 00:34:50 +08:00
parent 0541e45b92
commit 12f415fd19
2 changed files with 3 additions and 1 deletions

View File

@ -12,6 +12,7 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
if(NOT MSVC) if(NOT MSVC)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_DEBUG} -g -rdynamic")
endif() endif()
if (MSVC) if (MSVC)

View File

@ -92,7 +92,8 @@ class LIBIMP_EXPORT printer {
public: public:
printer() noexcept = default; printer() noexcept = default;
template <typename T> template <typename T,
typename = std::enable_if_t<!std::is_same<printer, T>::value>>
printer(T &p) noexcept printer(T &p) noexcept
: objp_ (static_cast<void *>(&p)) : objp_ (static_cast<void *>(&p))
, vtable_(detail_log::traits<T>::make_vtable()) {} , vtable_(detail_log::traits<T>::make_vtable()) {}