2011-04-15 59 views
5

標題中引用的腳註是什麼意思?它是連接到6.10.3p11C99,「儘管有這個名稱,但非指令是預處理指令。」

如果有論據,否則將作爲預處理指令,147)行爲是不確定的列表中預處理標記序列的註腳。

我查了一下,發現

預處理指令由以#預處理標記開始預處理標記序列的那...

,我沒找到與該語法匹配的非終端non-directive。它可以(但不一定)以#預處理令牌開始。所以我們不得不說以下幾點:

「儘管有這個名稱,預處理指令是非指令性的。」

另外,該腳註的目的是什麼?

+0

如果這有助於任何人(它肯定沒有幫助我),它被添加到TC2。 – 2011-04-15 15:58:25

+0

也許腳註應該說「儘管名稱,非指令*可以是*預處理指令」。我仍然不知道腳註背後的意圖/理由。 – 2011-04-15 16:05:46

回答

4

我C99的副本沒有腳註(它的原 - ?你有申請一個與TR勘誤的內容),但我認爲這個想法是,如果你有

# non-directive 

一個宏參數內列表,這仍然是未定義的行爲。

這本來是更好地使< 非定向 >生產包括#,我認爲,這將簡化6.10p3,4以及消除這種混亂。