1
一個芯常量表達式的定義取決於常量表達式的概念作爲可在要點(2.7.1)和可見(2.9.1)的N4140。`芯恆定expression` VS`恆定expression`
§5.19/ 2:
甲條件表達式
e
爲芯常量表達式除非的e
的 評價,下列的抽象機(1.9)的規則, 將評估的一個下面的表達式:
...
(2.7.1) - 積分或枚舉類型的非易失性glvalue該 指與常量表達式
初始化之前的初始化非易失性const對象, ...
(2.9.1) - 它與一個常量表達式初始化或
而一個常量表達式的定義取決於芯常量表達式的概念,如可以在可見§5.19N4140/4:
甲常量表達式或者是一個glvalue 芯恆定 表達,其值指的是具有靜態存儲 持續時間或以一個函數的對象,或一個prvalue 芯常量表達式 ,其值是一個對象,其中,F或者說對象及其子對象:
...
這似乎無視數理邏輯的基本原則。
確切的問題是什麼? – skypjack
表達式可以包含其他表達式;這不是問題。 –
它不違反邏輯,因爲代碼中的表達式形成一棵樹,而不是一個具有循環的圖 –