回答編集履歴
6
()付きのコード削除、リンク追加
answer
CHANGED
@@ -12,10 +12,6 @@
|
|
12
12
|
別のshrared_ptrもあとから追加される可能性があり、コンストラクタではvectorの1要素目として格納したいということでしょうか。
|
13
13
|
そうであれば以下ですかね。
|
14
14
|
```C++
|
15
|
-
Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges
|
15
|
+
Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges{ _hoges } {};
|
16
16
|
```
|
17
|
-
|
18
|
-
`()`なしの以下でも通ります。
|
19
|
-
```C++
|
20
|
-
|
17
|
+
[リスト初期化](https://ja.cppreference.com/w/cpp/language/list_initialization)の(5)です。
|
21
|
-
```
|
5
()なしでも通る旨追記
answer
CHANGED
@@ -13,4 +13,9 @@
|
|
13
13
|
そうであれば以下ですかね。
|
14
14
|
```C++
|
15
15
|
Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges({ _hoges }) {};
|
16
|
+
```
|
17
|
+
|
18
|
+
`()`なしの以下でも通ります。
|
19
|
+
```C++
|
20
|
+
Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges{ _hoges } {};
|
16
21
|
```
|
4
vector格納コード追記
answer
CHANGED
@@ -8,4 +8,9 @@
|
|
8
8
|
```
|
9
9
|
の間違いでは?
|
10
10
|
|
11
|
+
と書いてから気づきましたが、vectorに格納したいということなので
|
11
|
-
|
12
|
+
別のshrared_ptrもあとから追加される可能性があり、コンストラクタではvectorの1要素目として格納したいということでしょうか。
|
13
|
+
そうであれば以下ですかね。
|
14
|
+
```C++
|
15
|
+
Aggrecate(const std::shared_ptr<Hoge>& _hoges) : hoges({ _hoges }) {};
|
16
|
+
```
|
3
質問内容に関して追記
answer
CHANGED
@@ -6,4 +6,6 @@
|
|
6
6
|
```C++
|
7
7
|
std::shared_ptr<Hoge> hoges;
|
8
8
|
```
|
9
|
-
の間違いでは?
|
9
|
+
の間違いでは?
|
10
|
+
|
11
|
+
それとも別のメンバ関数で別のshrared_ptrもあとから追加される可能性があって、コンストラクタではvectorの1要素目として格納したいということでしょうか。
|
2
質問ソースが変更されたので修正
answer
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
エラーとソースが食い違っているので提示されたソースが正しいものなのかわかりませんが、
|
2
2
|
```C++
|
3
|
-
|
3
|
+
std::vector<std::shared_ptr<Hoge>> hoges;
|
4
4
|
```
|
5
5
|
は
|
6
6
|
```C++
|
7
|
-
|
7
|
+
std::shared_ptr<Hoge> hoges;
|
8
8
|
```
|
9
9
|
の間違いでは?
|
1
タイプミス修正
answer
CHANGED
@@ -4,6 +4,6 @@
|
|
4
4
|
```
|
5
5
|
は
|
6
6
|
```C++
|
7
|
-
Aggrecate(std::
|
7
|
+
Aggrecate(std::vector<std::shared_ptr<Hoge>>& _hoges) : hoges(_hoges){};
|
8
8
|
```
|
9
9
|
の間違いでは?
|