From a8b2d7a57e835e13a831bf3fc93ebec7f5b5eb19 Mon Sep 17 00:00:00 2001 From: Dnomd343 Date: Fri, 27 Jan 2023 16:43:52 +0800 Subject: [PATCH] fix: `explicit` limit for class convert --- src/klotski/common_code/common_code.h | 2 +- src/klotski/raw_code/raw_code.h | 2 +- src/klotski/short_code/short_code.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/klotski/common_code/common_code.h b/src/klotski/common_code/common_code.h index ac65413..fe0a8c0 100644 --- a/src/klotski/common_code/common_code.h +++ b/src/klotski/common_code/common_code.h @@ -68,8 +68,8 @@ namespace klotski { static bool check(uint64_t common_code); /// Operators of CommonCode - constexpr operator uint64_t() const { return code; } bool operator==(const CommonCode &common_code) const; + constexpr explicit operator uint64_t() const { return code; } friend std::ostream& operator<<(std::ostream &out, const CommonCode &self); /// Export functions diff --git a/src/klotski/raw_code/raw_code.h b/src/klotski/raw_code/raw_code.h index 9502c9a..5273a81 100644 --- a/src/klotski/raw_code/raw_code.h +++ b/src/klotski/raw_code/raw_code.h @@ -50,7 +50,7 @@ namespace klotski { /// Operators of RawCode bool operator==(const RawCode &raw_code) const; - constexpr operator uint64_t() const { return code; } + constexpr explicit operator uint64_t() const { return code; } friend std::ostream& operator<<(std::ostream &out, const RawCode &self); /// Export functions diff --git a/src/klotski/short_code/short_code.h b/src/klotski/short_code/short_code.h index 529589b..2bf5156 100644 --- a/src/klotski/short_code/short_code.h +++ b/src/klotski/short_code/short_code.h @@ -40,8 +40,8 @@ namespace klotski { static bool check(uint32_t short_code); /// Operators of ShortCode - constexpr operator uint32_t() const { return code; } bool operator==(const ShortCode &short_code) const; + constexpr explicit operator uint32_t() const { return code; } friend std::ostream& operator<<(std::ostream &out, const ShortCode &self); /// Export functions