テンプレート引数を明示した関数の呼び出し

  • 以下のコードがあいまいエラーになるのは正しいらしい(どうしてだろう)
  • 明示的テンプレート引数の必要な転送関数ではBoost.EnableIfが必要になる
    • 型だけを関数に渡すときは、boost::typeなどを使った方がいいかもしれない


[]template[][]< [][]class[] []Ex[][], [][]class[] []T[][] >[]
[]void[] []f1[][]([][]T[][]& [][]x[][]) { }[]

[]template[][]< [][]class[] []Ex[][], [][]class[] []T[][] >[]
[]void[] []f1[][]([][]const[] []T[][]& [][]x[][]) { }[]

[]void[] []test_f1[][]()[]
[]{[]
[]const[] []char[] []c[][] = [][]1[][]; [][]// if const,[]
[]f1[][]<[][]int[][]>([][]c[][]); [][]// makes ambiguity-error![]
[]}[]