無名クラスの入れ子クラスを、関数テンプレートの引数にすると、Comeauでは、コンパイルできない。
どうやら、invalidなコードのようだ。
class
{
public:
class bar{} baz;
} foo;
template <typename T>
void hoge(const T&) {}
int main(int argc, char *argv[])
{
hoge(foo.baz);
return 0;
}
GCCでコンパイルできるのは、おそらくコンパイラのバグ。
C++0xでは、validになるようなので、バグ報告はしない。