☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

构造或析构函数在 function-try-block 的 handler 中访问非静态成员

C++-Undefined-Behavior-68
目录 › next › previous

示例:

class T {
    int err;

public:
    T() try { .... } catch (...) { log(err); }  // Undefined behavior
   ~T() try { .... } catch (...) { log(err); }  // Undefined behavior
};

流程进入 function-try-block 的 handler 时,非静态成员的生命周期已结束,不可再被访问。

依据

ISO/IEC 14882:2003 15.3(10)-undefined ISO/IEC 14882:2011 15.2(10)-undefined

规则

ID_illMemberAccess
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.