回答編集履歴
2
コメントを反映
answer
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
> しっかり前方宣言されているはずですが
|
2
2
|
|
3
3
|
前方宣言が間違っています。`class Stage` の定義の中で前方宣言してください。
|
4
|
+
また、`Stage::getMap()` の実装のほうの戻り値の型は、`MapChip`ではなく`Staget::MapChip`と書く必要があります。
|
4
5
|
|
5
|
-
さらに、`private` な型を `public` なメソッドで返そうとしているので、けっきょく `Stage::MapChip` の定義を `public` セクションに移動する必要があります。
|
6
|
+
さらに、`private` な型を `public` なメソッドで返そうとしているので、けっきょく `Stage::MapChip` の定義を `public` セクションに移動する必要があります。
|
7
|
+
|
8
|
+
|
9
|
+
-----
|
10
|
+
一般論で `public` な内部 class/struct はメリットがほとんどありません。上記変更点はすべてなしにして、`Stage::MapChip` を `Stage` から追い出してトップレベルに移してしまったほうがコードはシンプルかもしれません。
|
1
脱字
answer
CHANGED
@@ -2,4 +2,4 @@
|
|
2
2
|
|
3
3
|
前方宣言が間違っています。`class Stage` の定義の中で前方宣言してください。
|
4
4
|
|
5
|
-
さらに、`private` な型を `public` なメソッドで返そうとしているので、けっきょ `Stage::MapChip` の定義を `public` セクションに移動する必要があります。
|
5
|
+
さらに、`private` な型を `public` なメソッドで返そうとしているので、けっきょく `Stage::MapChip` の定義を `public` セクションに移動する必要があります。
|