Movatterモバイル変換


[0]ホーム

URL:



This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++17 status.

2559. Error in LWG 2234's resolution

Section: 19.3[assertions]Status:C++17Submitter: Tim SongOpened: 2015-11-07Last modified: 2017-07-30

Priority:0

View all otherissues in [assertions].

View all issues withC++17 status.

Discussion:

The resolution of LWG2234(i) says thatassert(E) is a constant subexpression if "NDEBUG is defined at the point whereassert(E) appears".

This is incorrect, as noted in one of STL's comments in that issue's discussion, but was apparently overlooked.

The proposed resolution below just borrows STL's phrasing from the discussion.

[2016-02, Issues Telecon]

P0; move to Tentatively Ready.

Proposed resolution:

This wording is relative to N4567.

  1. Change 19.3[assertions] p2 as indicated:

    An expressionassert(E) is a constant subexpression (3.15[defns.const.subexpr]), if

    • NDEBUG is defined at the point whereassert(E) appearsassert is last defined or redefined, or

    • […]


[8]ページ先頭

©2009-2026 Movatter.jp