teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

update

2019/05/09 01:38

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  ----
7
7
  > template関数の呼び出し側に`template`を書くのはどういう場合に必要なのでしょうか?
8
8
 
9
- テンプレート定義中からの **メンバ関数テンプレートの呼び出し** において、同メンバ関数テンプレートを有する **クラス型がテンプレートパラメータに依存** する場合に、明示的な`template`キーワードが必須となります。この用法は template限定子 と呼ばれることもあります。N3337(C++11)仕様では [[temp.name]/p4](https://timsong-cpp.github.io/cppwp/n3337/temp.names#4) が該当します。
9
+ テンプレート定義中からの **メンバ関数テンプレートの呼び出し** において、同メンバ関数テンプレートを有する **クラス型がテンプレートパラメータに依存** する場合に、明示的な`template`キーワードが必須となります。この用法は template限定子 と呼ばれることもあります。N3337(C++11)仕様では [[temp.name]/p4](https://timsong-cpp.github.io/cppwp/n3337/temp.names#4) が該当します。現行最新N4659(C++17)仕様でも [[temp.name]/p4](https://timsong-cpp.github.io/cppwp/n4659/temp.names#4) です。
10
10
 
11
11
  コード例をC++仕様書から引用します。クラス型`T`はテンプレートパラメータ`T`が指定されるるまで確定しない、つまり「テンプレートパラメータに依存」するケースとなっています。
12
12
 

2

update

2019/05/09 01:38

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -6,9 +6,9 @@
6
6
  ----
7
7
  > template関数の呼び出し側に`template`を書くのはどういう場合に必要なのでしょうか?
8
8
 
9
- **メンバ関数テンプレートの呼び出し** において、同メンバ関数テンプレートを有する **クラス型がテンプレートパラメータに依存** する場合に、明示的な`template`キーワードが必須となります。この用法は template限定子 と呼ばれることもあります。
9
+ テンプレート定義中からの **メンバ関数テンプレートの呼び出し** において、同メンバ関数テンプレートを有する **クラス型がテンプレートパラメータに依存** する場合に、明示的な`template`キーワードが必須となります。この用法は template限定子 と呼ばれることもあります。N3337(C++11)仕様では [[temp.name]/p4](https://timsong-cpp.github.io/cppwp/n3337/temp.names#4) が該当します。
10
10
 
11
- コード例をC++仕様書から引用します。クラス型`T`はテンプレートパラメータ`T`がるまで定しない、つまり「テンプレートパラメータに依存」したケースとなます。
11
+ コード例をC++仕様書から引用します。クラス型`T`はテンプレートパラメータ`T`がされまで定しない、つまり「テンプレートパラメータに依存」するケースとなっています。
12
12
 
13
13
  ```C++
14
14
  struct X {

1

appendix

2019/05/09 01:35

投稿

yohhoy
yohhoy

スコア6191

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  ----
7
7
  > template関数の呼び出し側に`template`を書くのはどういう場合に必要なのでしょうか?
8
8
 
9
- **メンバ関数テンプレートの呼び出し** において、同メンバ関数テンプレートを有する **クラス型がテンプレートパラメータに依存** する場合に、明示的な`template`キーワードが必須となります。
9
+ **メンバ関数テンプレートの呼び出し** において、同メンバ関数テンプレートを有する **クラス型がテンプレートパラメータに依存** する場合に、明示的な`template`キーワードが必須となります。この用法は template限定子 と呼ばれることもあります。
10
10
 
11
11
  コード例をC++仕様書から引用します。クラス型`T`はテンプレートパラメータ`T`が確定するまで決定しない、つまり「テンプレートパラメータに依存」したケースとなります。
12
12