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

質問編集履歴

2

そのままでも問題なかったkも知れないが、テンプレートの<int>を修正

2019/07/27 12:25

投稿

tometome
tometome

スコア27

title CHANGED
File without changes
body CHANGED
@@ -28,21 +28,21 @@
28
28
  std::initializer_list<int> a(1, 2, 3); //コンパイルエラー
29
29
  _initializer_list<int> b(1, 2, 3); //コンパイルエラーにはならないが動作がおかしい。コンパイルエラーになるようにするか、これでも初期化可能にしたい。
30
30
 
31
- std::initializer_list c = {1, 2, 3); //正常
31
+ std::initializer_list<int> c = {1, 2, 3); //正常
32
- _initializer_list d = {1, 2, 3}; //これは正常
32
+ _initializer_list<int> d = {1, 2, 3}; //これは正常
33
33
 
34
- std::initializer_list e;
34
+ std::initializer_list<int> e;
35
35
  e = {1, 2, 3}; //正常
36
36
 
37
- _initializer_list f;
37
+ _initializer_list<int> f;
38
38
  f = {1, 2, 3}; //コンパイルエラー、代入演算子のオーバーロードをしたいが「仮引数は1つでなければならない」と言われ、できない
39
39
 
40
40
  samp(stdのやつ) ob1 = {1, 2, 3}; //これをするためにstd::initializer_listがある
41
41
  samp(作ったやつ) ob2 = {1, 2, 3}; //「samp(int, int, int)は無い」と言われる、これの直し方が一番知りたい。
42
42
  }
43
43
  struct samp{
44
- samp(std::initializer_list &ils){/***/} //正常
44
+ samp(std::initializer_list<int> &ils){/***/} //正常
45
- samp(_initializer_list &ils){/***/} //「samp(int, int, int)は無い」と言われる
45
+ samp(_initializer_list<int> &ils){/***/} //「samp(int, int, int)は無い」と言われる
46
46
  };
47
47
  ```
48
48
 

1

追記

2019/07/27 12:25

投稿

tometome
tometome

スコア27

title CHANGED
File without changes
body CHANGED
@@ -44,4 +44,7 @@
44
44
  samp(std::initializer_list &ils){/***/} //正常
45
45
  samp(_initializer_list &ils){/***/} //「samp(int, int, int)は無い」と言われる
46
46
  };
47
- ```
47
+ ```
48
+
49
+ ※追記
50
+ 私は`type ob = {1, 2, 3};`と`type ob(1, 2, 3);`の違いを理解していません。