--- id: VDE-014 status: fixed severity: high category: bug date: 2026-07-27 reporter: ViewDesign related: VDE-011 --- # VDE-014: write_stl / write_stl_ascii 新旧声明并存 ## 问题描述 `io_stl.h` 中 `write_stl` 和 `write_stl_ascii` 同时存在 `void` 和 `bool` 版本,导致编译二义性: ```cpp // io_stl.h:94 — 旧声明(应删除) void write_stl(const std::string& filepath, const std::vector& tris); // io_stl.h:95 — 新声明(正确) bool write_stl(const std::string& filepath, const std::vector& tris); // io_stl.h:118 — 旧声明(应删除) void write_stl_ascii(const std::string& filepath, const std::vector& tris); // io_stl.h:119 — 新声明(正确) bool write_stl_ascii(const std::string& filepath, const std::vector& tris); ``` ## 编译错误 ``` error: 'void value not ignored as it ought to be' error: ambiguating new declaration of 'bool vde::foundation::write_stl(...)' ``` ## 当前 Workaround ViewDesign 创建了 `cmake/vde_fixes/vde/foundation/io_stl.h` 副本并覆盖 include 路径。 ## 建议修复 删除旧的 `void` 版本声明(第 94、118 行),仅保留 `bool` 版本。