From 870d93c19fb7b1792c9f5c4a8a76869e30f03a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=BB?= <119668441+Jiga228@users.noreply.github.com> Date: Fri, 21 Feb 2025 20:29:34 +0700 Subject: [PATCH] Fixed the error --- RTTI/RTTI.cpp | 9 ++++++--- RTTI/RTTI.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/RTTI/RTTI.cpp b/RTTI/RTTI.cpp index a64bf85..3c01557 100644 --- a/RTTI/RTTI.cpp +++ b/RTTI/RTTI.cpp @@ -2,13 +2,16 @@ void IRTTI::TreeArray::push_back(const Classes type) { + Tree[size - 1] = type; + size++; Classes* NewTree = new Classes[size]; for (size_t i = 0; i < size - 1; ++i) NewTree[i] = Tree[i]; - - NewTree[size - 1] = type; + + delete[] Tree; + Tree = NewTree; } IRTTI::TreeArray::TreeArray() @@ -20,7 +23,7 @@ IRTTI::TreeArray::TreeArray() void IRTTI::SetType(const Classes type) { this->type = type; - //Tree.push_back(type); + Tree.push_back(type); } IRTTI::IRTTI() diff --git a/RTTI/RTTI.h b/RTTI/RTTI.h index a392c88..c021cb8 100644 --- a/RTTI/RTTI.h +++ b/RTTI/RTTI.h @@ -44,7 +44,7 @@ public: if (IsA(InterfaceOfObject->type)) return reinterpret_cast(object); - const size_t coutType = InterfaceOfObject->Tree.size; + const size_t coutType = InterfaceOfObject->Tree.size - 1; for (size_t i = 0; i < coutType; ++i) { if (InterfaceOfObject->Tree.Tree[i] == Meta::Type)