回答編集履歴

2

コメントを反映

2021/01/29 08:04

投稿

int32_t
int32_t

スコア20884

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

1

脱字

2021/01/29 08:04

投稿

int32_t
int32_t

スコア20884

test CHANGED
@@ -6,4 +6,4 @@
6
6
 
7
7
 
8
8
 
9
- さらに、`private` な型を `public` なメソッドで返そうとしているので、けっきょ `Stage::MapChip` の定義を `public` セクションに移動する必要があります。
9
+ さらに、`private` な型を `public` なメソッドで返そうとしているので、けっきょ `Stage::MapChip` の定義を `public` セクションに移動する必要があります。