[计算机科学经

A compiler is an example of a metaprogram it taks a

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 數型別為 const int& )可能是引發錯誤的原由。回頭看看程式第 18 行 (std::bind2nd(std::greater<int>(),"A")),我們確實在那兒使用了㆒個 int,它和我們 要搜尋的 list 的型別並不相容。把 <int> 換成 <std::string> 問題便解決了。 譯註:讀者可能對「所有這些 templates」的含義有所疑惑,這裡做個簡單解釋:㆖面的錯誤訊 息本質㆖等同於「在 template1 ㆗有㆒個錯誤,template1 的具現化是由於 template2 被具現化, 而 template2 的具現化是由於 template3 被具現化」 等等等 這裡的 template1, template2, template3 … 。 就是作者所說的「所有 templates」。 毫無疑問,錯誤訊息的結構性還可以更好。有些問題可能出現在具現化開始之前。此外,比起 使用「完全展開」的 template 具現體名稱(例如 MyTemplate<YourTemplate<int> >),將它 加以分解可縮短過長的名稱...
View Full Document

Ask a homework question - tutors are online