template の部分特殊化がよくわかりません(1)
loki から IsSameType を例に取ると...
template <typename T, typename U> struct IsSameType { enum { value = false }; }; template <typename T> struct IsSameType<T, T> { enum { value = true }; };
これをインスタンス化する
bool b = IsSameType::<char, short>::value;
これは良い。 b は false になる。
bool b = IsSameType::<char>::value;
これはコンパイルエラーになる。部分特殊化はあくまでも実装の手段であって I/F は変わらないって事?だから、これは上手くいくのかな?
bool b = IsSameType::<char, char>::value;
gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.