From c503812c6fc6da82e33a36c40650762ea6ab0c28 Mon Sep 17 00:00:00 2001 From: mutouyun Date: Sat, 9 Sep 2023 13:35:47 +0800 Subject: [PATCH] [MSVC 19] error C2440: cannot convert to 'void (__cdecl *)(void *,std::size_t) noexcept' --- include/libimp/result.h | 2 +- include/libpmr/small_storage.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/libimp/result.h b/include/libimp/result.h index c8f90d7..f74f450 100644 --- a/include/libimp/result.h +++ b/include/libimp/result.h @@ -42,7 +42,7 @@ struct generic_traits { /// \brief Custom initialization. constexpr static void init_code(storage_t &code) noexcept { - code = {0, std::error_code(-1, std::generic_category())}; + code = {{}, std::error_code(-1, std::generic_category())}; } constexpr static void init_code(storage_t &code, T value, std::error_code const &ec) noexcept { code = {value, ec}; diff --git a/include/libpmr/small_storage.h b/include/libpmr/small_storage.h index 5ffc3be..fd08cba 100644 --- a/include/libpmr/small_storage.h +++ b/include/libpmr/small_storage.h @@ -208,7 +208,7 @@ struct holder_info { std::size_t sizeof_type; std::size_t count; void (*copy)(allocator const &, void const *s, void *d); - void (*dest)(void *p, std::size_t n) noexcept; + void (*dest)(void *p, std::size_t n); }; template @@ -454,7 +454,7 @@ public: template class small_storage { - static_assert(N > holder, "N must be greater than sizeof(holder)"); + static_assert(N > sizeof(holder), "N must be greater than sizeof(holder)"); alignas(std::max_align_t) std::array<::LIBIMP::byte, N> storage_;