C++におけるtypenameの役割2
コンパイラが"error: type 'foo' is not derived from type 'bar'"と言って通してくれない.
メッセージの意味から何か未定義なものがあるのかと思っていたら, 単にtypenameの書き忘れであった. ある意味未定義だったわけだが, メッセージが分かりにくい. foo, barがかなり入り組んだテンプレートの適用をしていたので尚更.
以後気をつけます.
http://debuggingasusual.blogspot.jp/2012/01/templatetypedeftypename.html