質問編集履歴

3

コードの修正

2019/05/22 01:29

投稿

suittizihou
suittizihou

スコア27

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  // あったら返す
28
28
 
29
- if (component_tmp.expired()) {
29
+ if (!component_tmp.expired()) {
30
30
 
31
31
  return component_tmp;
32
32
 

2

質問文が正確でなかったので修正いたしました。

2019/05/22 01:29

投稿

suittizihou
suittizihou

スコア27

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,31 @@
39
39
  }
40
40
 
41
41
  ```
42
+
43
+
44
+
45
+ 補足
46
+
47
+ すみません質問文の最後にboolで返すような記述をしてしまい誤解が生まれてしまったかもしれません。
48
+
49
+ 返り値はweak_ptrのままで戻り値はboolにはしないつもりです。
50
+
51
+ やりたいことはweak_ptrがnullの時、例えば受け取り側で
52
+
53
+ ```C++
54
+
55
+ std::weak_ptr<Rigidbody> p_rigid;
56
+
57
+ p_rigid = GetComponent<Rigidbody>();
58
+
59
+ ```
60
+
61
+ とした際コンポーネントリストにRigidbodyが存在しない場合
62
+
63
+ ```C++
64
+
65
+ p_rigid = GetComponent<Rigidbody>();
66
+
67
+ ```
68
+
69
+ の時点でエラーが出て止まってほしいんです。

1

古いコメントがあったので修正しました(元々返り値は生ポインタで、その名残が残っていました)

2019/05/22 00:53

投稿

suittizihou
suittizihou

スコア27

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ```C++
10
10
 
11
- // コンポーネントのポインターを取得
11
+ // コンポーネントの参照を取得
12
12
 
13
13
  template<typename T>
14
14