diff --git a/samples/monster_generated.h b/samples/monster_generated.h index a3a2fb2a9..6c7b30598 100644 --- a/samples/monster_generated.h +++ b/samples/monster_generated.h @@ -56,7 +56,7 @@ template<> struct EquipmentTraits { struct EquipmentUnion { Equipment type; - flatbuffers::NativeTable *table = nullptr; + flatbuffers::NativeTable *table; EquipmentUnion() : type(Equipment_NONE), table(nullptr) {} EquipmentUnion(const EquipmentUnion &); EquipmentUnion &operator=(const EquipmentUnion &); diff --git a/src/idl_gen_cpp.cpp b/src/idl_gen_cpp.cpp index f308a7bcb..47bf37089 100644 --- a/src/idl_gen_cpp.cpp +++ b/src/idl_gen_cpp.cpp @@ -526,7 +526,7 @@ class CppGenerator : public BaseGenerator { // Generate a union type code += "struct " + enum_def.name + "Union {\n"; code += " " + enum_def.name + " type;\n\n"; - code += " flatbuffers::NativeTable *table = nullptr;\n"; + code += " flatbuffers::NativeTable *table;\n"; code += " " + enum_def.name + "Union() : type("; code += GetEnumValUse(enum_def, *enum_def.vals.Lookup("NONE"), parser_.opts); code += "), table(nullptr) {}\n"; diff --git a/tests/monster_test.bfbs b/tests/monster_test.bfbs index 0369f8969..41d9edb1c 100644 Binary files a/tests/monster_test.bfbs and b/tests/monster_test.bfbs differ diff --git a/tests/monster_test_generated.h b/tests/monster_test_generated.h index e52992c32..0b73b7a23 100644 --- a/tests/monster_test_generated.h +++ b/tests/monster_test_generated.h @@ -78,7 +78,7 @@ template<> struct AnyTraits { struct AnyUnion { Any type; - flatbuffers::NativeTable *table = nullptr; + flatbuffers::NativeTable *table; AnyUnion() : type(Any_NONE), table(nullptr) {} AnyUnion(const AnyUnion &); AnyUnion &operator=(const AnyUnion &); diff --git a/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.go b/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.go index 3de874b25..00840aa31 100644 --- a/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.go +++ b/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.go @@ -15,6 +15,10 @@ func (rcv *StructInNestedNS) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Pos = i } +func (rcv *StructInNestedNS) Table() flatbuffers.Table { + return rcv._tab.Table +} + func (rcv *StructInNestedNS) A() int32 { return rcv._tab.GetInt32(rcv._tab.Pos + flatbuffers.UOffsetT(0)) } diff --git a/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.go b/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.go index a25ae7be4..0e767b84e 100644 --- a/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.go +++ b/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.go @@ -22,6 +22,10 @@ func (rcv *TableInNestedNS) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Pos = i } +func (rcv *TableInNestedNS) Table() flatbuffers.Table { + return rcv._tab +} + func (rcv *TableInNestedNS) Foo() int32 { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { diff --git a/tests/namespace_test/NamespaceA/SecondTableInA.go b/tests/namespace_test/NamespaceA/SecondTableInA.go index f53a1ead1..bd691e81f 100644 --- a/tests/namespace_test/NamespaceA/SecondTableInA.go +++ b/tests/namespace_test/NamespaceA/SecondTableInA.go @@ -22,6 +22,10 @@ func (rcv *SecondTableInA) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Pos = i } +func (rcv *SecondTableInA) Table() flatbuffers.Table { + return rcv._tab +} + func (rcv *SecondTableInA) ReferToC(obj *TableInC) *TableInC { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { diff --git a/tests/namespace_test/NamespaceA/TableInFirstNS.go b/tests/namespace_test/NamespaceA/TableInFirstNS.go index 4820a8ae5..b3354d305 100644 --- a/tests/namespace_test/NamespaceA/TableInFirstNS.go +++ b/tests/namespace_test/NamespaceA/TableInFirstNS.go @@ -22,6 +22,10 @@ func (rcv *TableInFirstNS) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Pos = i } +func (rcv *TableInFirstNS) Table() flatbuffers.Table { + return rcv._tab +} + func (rcv *TableInFirstNS) FooTable(obj *TableInNestedNS) *TableInNestedNS { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 { diff --git a/tests/namespace_test/NamespaceC/TableInC.go b/tests/namespace_test/NamespaceC/TableInC.go index d0d8b002f..7e6c73383 100644 --- a/tests/namespace_test/NamespaceC/TableInC.go +++ b/tests/namespace_test/NamespaceC/TableInC.go @@ -22,6 +22,10 @@ func (rcv *TableInC) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Pos = i } +func (rcv *TableInC) Table() flatbuffers.Table { + return rcv._tab +} + func (rcv *TableInC) ReferToA1(obj *TableInFirstNS) *TableInFirstNS { o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) if o != 0 {