diff --git a/include/util/packed_vector.hpp b/include/util/packed_vector.hpp index fcd74fc09..7a1d93a6e 100644 --- a/include/util/packed_vector.hpp +++ b/include/util/packed_vector.hpp @@ -95,7 +95,9 @@ inline WordT set_upper_value(WordT word, WordT mask, std::uint8_t offset, T valu inline bool compare_and_swap(uint64_t *ptr, uint64_t old_value, uint64_t new_value) { #if defined(_MSC_VER) - return InterlockedCompareExchange64(ptr, new_value, old_value) == old_value; + return InterlockedCompareExchange64(reinterpret_cast(ptr), + static_cast(new_value), + static_cast(old_value)) == old_value; #elif defined(__GNUC__) return __sync_bool_compare_and_swap(ptr, old_value, new_value); #else