質問です。
C++のテンプレートに興味を持ち色々試行錯誤しているのですが

template<class T>
void test(){
printf("%d\n", sizeof(T));
}

void main(){
test<int>();
test<char>();
}

とやると、testのprintfで両方とも 1 が出力されてしまいます。
私は
4
1
と表示されることを期待していたのですが、異なった引数を持たない場合関数が上書きされてしまうのでしょうか?
testの引数に test(T tmp)としたら期待通りの動きになりましたが…。