- 226 名前:221 mailto:sage [2008/01/27(日) 16:45:57 ]
- レスありがとうございます。
>>224 >int const val; と const int val; は等価。 それは知ってます。 やはり型の一部ですよね。 >>225 >たとえばvoid f(int);とvoid f(int const)の型は全く同一になる value functionに関するそのルールは知っています。 このプログラムはvalue functionではなく、type functionなので 引数のdeductionの問題になると思います。f<int const>(j); は 明示的に型を指定しているのでpartial specializationが使用 されることは間違いないです。ただ、constが型の一部であるにも 関わらず、int const型のテンプレート引数である j を渡しても specializationが使用されていないのが理解できません。 結果を見る限り、const修飾子が無視されてint引数として扱われてること になりますが、これはテンプレートの標準における正しい仕様なのでしょ うか? VC++ 2008 と g++ v4 ともに同じ結果でした。
|

|