diff --git a/samples/monster_generated.h b/samples/monster_generated.h index fdbac0fcc..cdde13c4a 100644 --- a/samples/monster_generated.h +++ b/samples/monster_generated.h @@ -77,8 +77,8 @@ struct EquipmentUnion { EquipmentUnion(EquipmentUnion&& u) FLATBUFFERS_NOEXCEPT : type(Equipment_NONE), value(nullptr) { std::swap(type, u.type); std::swap(value, u.value); } - EquipmentUnion(const EquipmentUnion &); - EquipmentUnion &operator=(const EquipmentUnion &); + EquipmentUnion(const EquipmentUnion &) { assert(false); } + EquipmentUnion &operator=(const EquipmentUnion &) { assert(false); return *this; } EquipmentUnion &operator=(EquipmentUnion &&u) FLATBUFFERS_NOEXCEPT { std::swap(type, u.type); std::swap(value, u.value); return *this; } ~EquipmentUnion() { Reset(); } diff --git a/src/idl_gen_cpp.cpp b/src/idl_gen_cpp.cpp index d821eb402..1bfadf21a 100644 --- a/src/idl_gen_cpp.cpp +++ b/src/idl_gen_cpp.cpp @@ -687,8 +687,8 @@ class CppGenerator : public BaseGenerator { code_ += " {{NAME}}Union({{NAME}}Union&& u) FLATBUFFERS_NOEXCEPT :"; code_ += " type({{NONE}}), value(nullptr)"; code_ += " { std::swap(type, u.type); std::swap(value, u.value); }"; - code_ += " {{NAME}}Union(const {{NAME}}Union &);"; - code_ += " {{NAME}}Union &operator=(const {{NAME}}Union &);"; + code_ += " {{NAME}}Union(const {{NAME}}Union &) { assert(false); }"; + code_ += " {{NAME}}Union &operator=(const {{NAME}}Union &) { assert(false); return *this; }"; code_ += " {{NAME}}Union &operator=({{NAME}}Union &&u) FLATBUFFERS_NOEXCEPT"; code_ += " { std::swap(type, u.type); std::swap(value, u.value); return *this; }"; code_ += " ~{{NAME}}Union() { Reset(); }"; diff --git a/tests/monster_test_generated.h b/tests/monster_test_generated.h index 08970f942..647367a96 100644 --- a/tests/monster_test_generated.h +++ b/tests/monster_test_generated.h @@ -108,8 +108,8 @@ struct AnyUnion { AnyUnion(AnyUnion&& u) FLATBUFFERS_NOEXCEPT : type(Any_NONE), value(nullptr) { std::swap(type, u.type); std::swap(value, u.value); } - AnyUnion(const AnyUnion &); - AnyUnion &operator=(const AnyUnion &); + AnyUnion(const AnyUnion &) { assert(false); } + AnyUnion &operator=(const AnyUnion &) { assert(false); return *this; } AnyUnion &operator=(AnyUnion &&u) FLATBUFFERS_NOEXCEPT { std::swap(type, u.type); std::swap(value, u.value); return *this; } ~AnyUnion() { Reset(); } diff --git a/tests/union_vector/union_vector_generated.h b/tests/union_vector/union_vector_generated.h index 24046bc5d..88f4f368d 100644 --- a/tests/union_vector/union_vector_generated.h +++ b/tests/union_vector/union_vector_generated.h @@ -55,8 +55,8 @@ struct CharacterUnion { CharacterUnion(CharacterUnion&& u) FLATBUFFERS_NOEXCEPT : type(Character_NONE), value(nullptr) { std::swap(type, u.type); std::swap(value, u.value); } - CharacterUnion(const CharacterUnion &); - CharacterUnion &operator=(const CharacterUnion &); + CharacterUnion(const CharacterUnion &) { assert(false); } + CharacterUnion &operator=(const CharacterUnion &) { assert(false); return *this; } CharacterUnion &operator=(CharacterUnion &&u) FLATBUFFERS_NOEXCEPT { std::swap(type, u.type); std::swap(value, u.value); return *this; } ~CharacterUnion() { Reset(); }