diff --git a/samples/monster_generated.h b/samples/monster_generated.h index 13b8c3ea7..5eef0f25e 100644 --- a/samples/monster_generated.h +++ b/samples/monster_generated.h @@ -569,7 +569,7 @@ inline MonsterT::MonsterT(const MonsterT &o) equipped(o.equipped), path(o.path) { weapons.reserve(o.weapons.size()); - for (const auto &v : o.weapons) { weapons.emplace_back((v) ? new MyGame::Sample::WeaponT(*v) : nullptr); } + for (const auto &weapons_ : o.weapons) { weapons.emplace_back((weapons_) ? new MyGame::Sample::WeaponT(*weapons_) : nullptr); } } inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { diff --git a/src/idl_gen_cpp.cpp b/src/idl_gen_cpp.cpp index bfe2a289e..dfd9525c2 100644 --- a/src/idl_gen_cpp.cpp +++ b/src/idl_gen_cpp.cpp @@ -1965,8 +1965,9 @@ class CppGenerator : public BaseGenerator { cw.IncrementIdentLevel(); cw += "{{FIELD}}.reserve(o.{{FIELD}}.size());"; cw += - "for (const auto &v : o.{{FIELD}}) { " - "{{FIELD}}.emplace_back((v) ? new {{TYPE}}(*v) : nullptr); }"; + "for (const auto &{{FIELD}}_ : o.{{FIELD}}) { " + "{{FIELD}}.emplace_back(({{FIELD}}_) ? new {{TYPE}}(*{{FIELD}}_) " + ": nullptr); }"; vector_copies += cw.ToString(); } else { // For non-pointer elements, use std::vector's copy constructor in the diff --git a/tests/cpp17/generated_cpp17/monster_test_generated.h b/tests/cpp17/generated_cpp17/monster_test_generated.h index ad27ff7d3..9ddeeb549 100644 --- a/tests/cpp17/generated_cpp17/monster_test_generated.h +++ b/tests/cpp17/generated_cpp17/monster_test_generated.h @@ -2765,15 +2765,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline) { testarrayoftables.reserve(o.testarrayoftables.size()); - for (const auto &v : o.testarrayoftables) { testarrayoftables.emplace_back((v) ? new MyGame::Example::MonsterT(*v) : nullptr); } + for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); - for (const auto &v : o.vector_of_referrables) { vector_of_referrables.emplace_back((v) ? new MyGame::Example::ReferrableT(*v) : nullptr); } + for (const auto &vector_of_referrables_ : o.vector_of_referrables) { vector_of_referrables.emplace_back((vector_of_referrables_) ? new MyGame::Example::ReferrableT(*vector_of_referrables_) : nullptr); } vector_of_strong_referrables.reserve(o.vector_of_strong_referrables.size()); - for (const auto &v : o.vector_of_strong_referrables) { vector_of_strong_referrables.emplace_back((v) ? new MyGame::Example::ReferrableT(*v) : nullptr); } + for (const auto &vector_of_strong_referrables_ : o.vector_of_strong_referrables) { vector_of_strong_referrables.emplace_back((vector_of_strong_referrables_) ? new MyGame::Example::ReferrableT(*vector_of_strong_referrables_) : nullptr); } vector_of_co_owning_references.reserve(o.vector_of_co_owning_references.size()); - for (const auto &v : o.vector_of_co_owning_references) { vector_of_co_owning_references.emplace_back((v) ? new ReferrableT(*v) : nullptr); } + for (const auto &vector_of_co_owning_references_ : o.vector_of_co_owning_references) { vector_of_co_owning_references.emplace_back((vector_of_co_owning_references_) ? new ReferrableT(*vector_of_co_owning_references_) : nullptr); } scalar_key_sorted_tables.reserve(o.scalar_key_sorted_tables.size()); - for (const auto &v : o.scalar_key_sorted_tables) { scalar_key_sorted_tables.emplace_back((v) ? new MyGame::Example::StatT(*v) : nullptr); } + for (const auto &scalar_key_sorted_tables_ : o.scalar_key_sorted_tables) { scalar_key_sorted_tables.emplace_back((scalar_key_sorted_tables_) ? new MyGame::Example::StatT(*scalar_key_sorted_tables_) : nullptr); } } inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT { diff --git a/tests/monster_test_generated.h b/tests/monster_test_generated.h index 93c99a27d..c074ea396 100644 --- a/tests/monster_test_generated.h +++ b/tests/monster_test_generated.h @@ -2713,15 +2713,15 @@ inline MonsterT::MonsterT(const MonsterT &o) testrequirednestedflatbuffer(o.testrequirednestedflatbuffer), native_inline(o.native_inline) { testarrayoftables.reserve(o.testarrayoftables.size()); - for (const auto &v : o.testarrayoftables) { testarrayoftables.emplace_back((v) ? new MyGame::Example::MonsterT(*v) : nullptr); } + for (const auto &testarrayoftables_ : o.testarrayoftables) { testarrayoftables.emplace_back((testarrayoftables_) ? new MyGame::Example::MonsterT(*testarrayoftables_) : nullptr); } vector_of_referrables.reserve(o.vector_of_referrables.size()); - for (const auto &v : o.vector_of_referrables) { vector_of_referrables.emplace_back((v) ? new MyGame::Example::ReferrableT(*v) : nullptr); } + for (const auto &vector_of_referrables_ : o.vector_of_referrables) { vector_of_referrables.emplace_back((vector_of_referrables_) ? new MyGame::Example::ReferrableT(*vector_of_referrables_) : nullptr); } vector_of_strong_referrables.reserve(o.vector_of_strong_referrables.size()); - for (const auto &v : o.vector_of_strong_referrables) { vector_of_strong_referrables.emplace_back((v) ? new MyGame::Example::ReferrableT(*v) : nullptr); } + for (const auto &vector_of_strong_referrables_ : o.vector_of_strong_referrables) { vector_of_strong_referrables.emplace_back((vector_of_strong_referrables_) ? new MyGame::Example::ReferrableT(*vector_of_strong_referrables_) : nullptr); } vector_of_co_owning_references.reserve(o.vector_of_co_owning_references.size()); - for (const auto &v : o.vector_of_co_owning_references) { vector_of_co_owning_references.emplace_back((v) ? new ReferrableT(*v) : nullptr); } + for (const auto &vector_of_co_owning_references_ : o.vector_of_co_owning_references) { vector_of_co_owning_references.emplace_back((vector_of_co_owning_references_) ? new ReferrableT(*vector_of_co_owning_references_) : nullptr); } scalar_key_sorted_tables.reserve(o.scalar_key_sorted_tables.size()); - for (const auto &v : o.scalar_key_sorted_tables) { scalar_key_sorted_tables.emplace_back((v) ? new MyGame::Example::StatT(*v) : nullptr); } + for (const auto &scalar_key_sorted_tables_ : o.scalar_key_sorted_tables) { scalar_key_sorted_tables.emplace_back((scalar_key_sorted_tables_) ? new MyGame::Example::StatT(*scalar_key_sorted_tables_) : nullptr); } } inline MonsterT &MonsterT::operator=(MonsterT o) FLATBUFFERS_NOEXCEPT {