標題中引用的腳註是什麼意思?它是連接到6.10.3p11C99,「儘管有這個名稱,但非指令是預處理指令。」
如果有論據,否則將作爲預處理指令,147)行爲是不確定的列表中預處理標記序列的註腳。
我查了一下,發現
預處理指令由以#預處理標記開始預處理標記序列的那...
,我沒找到與該語法匹配的非終端non-directive
。它可以(但不一定)以#
預處理令牌開始。所以我們不得不說以下幾點:
「儘管有這個名稱,預處理指令是非指令性的。」
另外,該腳註的目的是什麼?
標題中引用的腳註是什麼意思?它是連接到6.10.3p11C99,「儘管有這個名稱,但非指令是預處理指令。」
如果有論據,否則將作爲預處理指令,147)行爲是不確定的列表中預處理標記序列的註腳。
我查了一下,發現
預處理指令由以#預處理標記開始預處理標記序列的那...
,我沒找到與該語法匹配的非終端non-directive
。它可以(但不一定)以#
預處理令牌開始。所以我們不得不說以下幾點:
「儘管有這個名稱,預處理指令是非指令性的。」
另外,該腳註的目的是什麼?
見http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_250.htm這是澄清
#define nothing(x) // Nothing /* Case 1 */
nothing (
#nonstandard
)
是UB。
我C99的副本沒有腳註(它的原 - ?你有申請一個與TR勘誤的內容),但我認爲這個想法是,如果你有
# non-directive
一個宏參數內列表,這仍然是未定義的行爲。
這本來是更好地使< 非定向 >生產包括#
,我認爲,這將簡化6.10p3,4以及消除這種混亂。
如果這有助於任何人(它肯定沒有幫助我),它被添加到TC2。 – 2011-04-15 15:58:25
也許腳註應該說「儘管名稱,非指令*可以是*預處理指令」。我仍然不知道腳註背後的意圖/理由。 – 2011-04-15 16:05:46