From 49f914073a7b69b19b48acb6c0fb4c3d612a4b09 Mon Sep 17 00:00:00 2001 From: yumetodo Date: Tue, 27 Feb 2024 00:22:04 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8D=98=E3=81=ABCWG=202518=E3=81=8C?= =?UTF-8?q?=E9=81=A9=E7=94=A8=E3=81=95=E3=82=8C=E3=81=9F=E7=92=B0=E5=A2=83?= =?UTF-8?q?=E3=81=A8=E3=81=84=E3=81=86=20(#1257)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pointed by @yohhoy --- lang/cpp11/static_assert.md | 2 +- lang/cpp17/if_constexpr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/cpp11/static_assert.md b/lang/cpp11/static_assert.md index 5d4a674b9..c1369a8b8 100644 --- a/lang/cpp11/static_assert.md +++ b/lang/cpp11/static_assert.md @@ -28,7 +28,7 @@ static_assert(定数式, 文字列リテラル); - この宣言は、名前空間スコープ、ブロックスコープ、メンバ宣言といった場所で記述できる - 定数式が真であると評価された場合は何も効果がない。定数式が偽であると評価された場合は、指定された文字列リテラルを含む診断メッセージがコンパイラによって問題報告される。ただし、基本ソース文字集合に含まれない文字集合は、診断メッセージに表示することはコンパイラに要求されない - `static_assert`宣言では、新たな型やオブジェクトは宣言しない。また、実行時にサイズや時間コストは発生しない -- (C++23以降 or CWG 2518が適用された環境): template文(もしくは適切な特殊化や[C++17 constexpr if 文](/lang/cpp17/if_constexpr.md)の中の文)が実際にインスタンス化されるまで、`static_assert`文の宣言は遅延される。 +- (CWG 2518が適用された環境): template文(もしくは適切な特殊化や[C++17 constexpr if 文](/lang/cpp17/if_constexpr.md)の中の文)が実際にインスタンス化されるまで、`static_assert`文の宣言は遅延される。 - [C++17 constexpr if 文](/lang/cpp17/if_constexpr.md)の解説を参照 ## 例 diff --git a/lang/cpp17/if_constexpr.md b/lang/cpp17/if_constexpr.md index 9b7f4953e..2b218c451 100644 --- a/lang/cpp17/if_constexpr.md +++ b/lang/cpp17/if_constexpr.md @@ -164,7 +164,7 @@ int main() } ``` -### (C++23以降 or CWG 2518が適用された環境) `static_assert`文に関する例外 +### (CWG 2518が適用された環境) `static_assert`文に関する例外 上に述べたように、`constexpr if`文の中の文は廃棄文においても、非依存名の検証を行う。このため特に`static_assert`文を使う時に直感的ではない挙動を示していた。