diff --git a/src/idl_gen_cpp.cpp b/src/idl_gen_cpp.cpp index 1aeff87d6..ba07194cd 100644 --- a/src/idl_gen_cpp.cpp +++ b/src/idl_gen_cpp.cpp @@ -165,7 +165,7 @@ static void GenEnum(EnumDef &enum_def, std::string *code_ptr, // verifier function to call, this should be safe even if the union type // has been corrupted, since the verifiers will simply fail when called // on the wrong type. - auto signature = "bool Verify" + enum_def.name + + auto signature = "inline bool Verify" + enum_def.name + "(flatbuffers::Verifier &verifier, " + "const void *union_obj, uint8_t type)"; code += signature + ";\n\n"; diff --git a/tests/monster_test_generated.h b/tests/monster_test_generated.h index 8c45a40b7..a3e138b8c 100755 --- a/tests/monster_test_generated.h +++ b/tests/monster_test_generated.h @@ -43,7 +43,7 @@ inline const char **EnumNamesAny() { inline const char *EnumNameAny(int e) { return EnumNamesAny()[e]; } -bool VerifyAny(flatbuffers::Verifier &verifier, const void *union_obj, uint8_t type); +inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *union_obj, uint8_t type); MANUALLY_ALIGNED_STRUCT(2) Test { private: @@ -188,7 +188,7 @@ inline flatbuffers::Offset CreateMonster(flatbuffers::FlatBufferBuilder return builder_.Finish(); } -bool VerifyAny(flatbuffers::Verifier &verifier, const void *union_obj, uint8_t type) { +inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *union_obj, uint8_t type) { switch (type) { case Any_NONE: return true; case Any_Monster: return verifier.VerifyTable(reinterpret_cast(union_obj));