2011-05-26 272 views

回答

7

如果我像模板那樣創建模板會出現什麼問題?

僅僅通過查看聲明,這應該是直觀的顯而易見的:即使對於人類來說它也是令人困惑的!編譯器沒有辦法在這裏處理>的雙重含義:它是否意味着「大於」?它是否意味着「關閉模板參數列表」?事實證明,這意味着都是,編譯器沒有提示應用在哪裏的含義。兩者在技術上都是有效的解析。

+0

謝謝。我會在五分鐘內接受你的回答。 – 2011-05-26 18:34:12

12

變化Wrap < 5>4 > p;Wrap < (5>4) > p;

遇到的第一個>被作爲模板參數列表的末尾,而不是比操作者更大>

ISO C++ [14.2/3]

當解析模板-ID,第一個非嵌套>被當作模板 參數列表的末尾,而不是一個大於運營商。

2

歧義。改爲使用Wrap <(5> 4)>。

相關問題