回答編集履歴

2

refinement

2020/11/13 04:22

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ```
9
+ ```c++
10
10
 
11
11
  template <class T>
12
12
 

1

update

2020/11/13 04:21

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- [`std::conjunction`メタ関数](https://cpprefjp.github.io/reference/type_traits/conjunction.html)は、テンプレート引数に指定したメタ関数の **インスタンス化を短絡評価** します。質問中にある記述では、`std::is_same`メタ関数のインスタンス化が遅延評価されるのですが、その引数に指定する`typename T::value_type`型は`check`メタ関数において有効な型でなければなりません。
5
+ [`std::conjunction`メタ関数](https://cpprefjp.github.io/reference/type_traits/conjunction.html)は、テンプレート引数に指定したメタ関数の **インスタンス化を短絡評価** します。質問中にある記述では、(2)`std::is_same`メタ関数のインスタンス化が遅延評価されるのですが、その引数に指定する`typename T::value_type`型は`check`メタ関数において有効な型でなければなりません。
6
6
 
7
7
 
8
8
 
@@ -12,9 +12,9 @@
12
12
 
13
13
  using check = std::conjunction<
14
14
 
15
- std::is_same<T, Hoge>,
15
+ std::is_same<T, Hoge>, // (1)
16
16
 
17
- std::is_same<typename T::value_type, int>
17
+ std::is_same<typename T::value_type, int> // (2)
18
18
 
19
19
  >;
20
20