From fe98fedc751b3ec003c752d4ced98f040a830db3 Mon Sep 17 00:00:00 2001 From: Huamonarch Date: Fri, 15 May 2026 17:08:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ensureVarCache=20=E6=94=B9=E7=94=A8=20ta?= =?UTF-8?q?g=5Fkeys.size()=20=E5=88=A4=E6=96=AD=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=20VarsCache::tag=5Fnum=20=E6=9C=AA=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E5=9E=83=E5=9C=BE=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eqpalg/utility/expression_engine.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eqpalg/utility/expression_engine.h b/eqpalg/utility/expression_engine.h index 2b3edc0..a1af07c 100644 --- a/eqpalg/utility/expression_engine.h +++ b/eqpalg/utility/expression_engine.h @@ -119,7 +119,9 @@ private: static constexpr size_t PV_NUM = 6; static void ensureVarCache(VarsCache& vc, size_t tag_count) { - if (vc.tag_num == 0 && tag_count > 0) { + // VarsCache::tag_num 是未初始化的垃圾值,不能用来判断是否已初始化 + // 直接 init(),内部 resize 操作对已初始化的向量是安全的 + if (tag_count > 0 && vc.tag_keys.size() != tag_count) { vc.init(tag_count, 6); } }