質問編集履歴

2

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

2019/07/27 12:25

投稿

tometome
tometome

スコア27

test CHANGED
File without changes
test CHANGED
@@ -58,19 +58,19 @@
58
58
 
59
59
 
60
60
 
61
- std::initializer_list c = {1, 2, 3); //正常
61
+ std::initializer_list<int> c = {1, 2, 3); //正常
62
62
 
63
- _initializer_list d = {1, 2, 3}; //これは正常
63
+ _initializer_list<int> d = {1, 2, 3}; //これは正常
64
64
 
65
65
 
66
66
 
67
- std::initializer_list e;
67
+ std::initializer_list<int> e;
68
68
 
69
69
  e = {1, 2, 3}; //正常
70
70
 
71
71
 
72
72
 
73
- _initializer_list f;
73
+ _initializer_list<int> f;
74
74
 
75
75
  f = {1, 2, 3}; //コンパイルエラー、代入演算子のオーバーロードをしたいが「仮引数は1つでなければならない」と言われ、できない
76
76
 
@@ -84,9 +84,9 @@
84
84
 
85
85
  struct samp{
86
86
 
87
- samp(std::initializer_list &ils){/***/} //正常
87
+ samp(std::initializer_list<int> &ils){/***/} //正常
88
88
 
89
- samp(_initializer_list &ils){/***/} //「samp(int, int, int)は無い」と言われる
89
+ samp(_initializer_list<int> &ils){/***/} //「samp(int, int, int)は無い」と言われる
90
90
 
91
91
  };
92
92
 

1

追記

2019/07/27 12:25

投稿

tometome
tometome

スコア27

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,9 @@
91
91
  };
92
92
 
93
93
  ```
94
+
95
+
96
+
97
+ ※追記
98
+
99
+ 私は`type ob = {1, 2, 3};`と`type ob(1, 2, 3);`の違いを理解していません。