Просмотр исходного кода

common/swap: remove default value for swap type internal storage

This is compromise for swap type being used in union. A union has deleted default constructor if it has at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer. In the use case of Bitfield, all variant members will be the swap type on endianness mismatch, which would all have non-trivial default constructor if default value is specified, and non of them can have member initializer
Weiyi Wang 7 лет назад
Родитель
Сommit
71530781f3
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      src/common/swap.h

+ 1 - 1
src/common/swap.h

@@ -172,7 +172,7 @@ struct swap_struct_t {
     using swapped_t = swap_struct_t;
 
 protected:
-    T value = T();
+    T value;
 
     static T swap(T v) {
         return F::swap(v);