次のコードは正常にコンパイルされますが、その理由がわかりません。
#include <stdio.h>
#include <vector>
#include <iostream>
// Template definition
template <typename T1, typename T2> class stack
{
};
// Template specialization
template <> class stack <float, float>
{
};
int main ()
{
stack <char, char> objStack;
return 0;
}
部分的な特殊化とは、特殊化で指定した特定のデータ型にクラスを使用できることを意味していませんか?
ここにはcharに特化したクラスはありません。また、あらゆる種類のデータ型でコンパイルする場合、特殊化の目的は何ですか?