В 2000 году не было ни одного компилятора, который бы реализовывал все аспекты стандартных шаблонов. Я бы осмелился сказать, что никто даже не осознал, что было возможно с шаблонами, пока Александреску не выпустил свой дизайн Modern C ++ в 2001 году.
Тем не менее, Metrowerks был одним из лучших. Если он компилируется в 7-й или более поздней версии, вполне возможно, что он будет работать на современном, более совместимом со стандартами, довольно быстром компиляторе.
Если я правильно помню, самая большая проблема с компиляторами Metrowerks в первые дни заключалась в том, что везде, где появлялось typename
, то, что следовало, просто интерпретировалось как тип, независимо от того, что последовало за ним.
Это означало, что вы могли бы делать, и я видел, совершенно нестандартные вещи с этим, как, например, прямое объявление typedefs.
Еще одна часть шаблонов, на которые у них ушло довольно много времени, чтобы все было правильно, это все, что связано с w.r.t. параметры шаблона шаблона и параметры шаблона по умолчанию.
Опубликуйте некоторые конкретные ошибки, если вы не можете заставить их работать, они, вероятно, все попадут в один или два «класса» проблем, и кто-то быстро сможет вам помочь.
Как я уже сказал, у Metrowerks был довольно хороший компилятор C ++, особенно их реализация STL, во многом благодаря Говарду Хиннанту Я думаю.