回答編集履歴
1
クラス名の変更
answer
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
コンパイル時に『UClassというクラスが有りますよ』ということを確定させるためです。
|
2
2
|
その意味では関数のプロトタイプ宣言と役割は一緒です。
|
3
3
|
```
|
4
|
-
C:...
|
4
|
+
C:...>type tera1.cpp
|
5
|
-
class
|
5
|
+
class Hoge;
|
6
6
|
|
7
|
-
class
|
7
|
+
class Fuga {
|
8
|
-
|
8
|
+
Hoge *ptr;
|
9
9
|
};
|
10
10
|
|
11
|
-
C:...
|
11
|
+
C:...>g++ -c tera1.cpp
|
12
12
|
|
13
|
-
C:...
|
13
|
+
C:...>type tera2.cpp
|
14
|
-
class
|
14
|
+
class Fuga {
|
15
|
-
|
15
|
+
Hoge *ptr;
|
16
16
|
};
|
17
17
|
|
18
|
-
C:...
|
18
|
+
C:...>g++ -c tera2.cpp
|
19
|
-
tera2.cpp:2:5: error: '
|
19
|
+
tera2.cpp:2:5: error: 'Hoge' does not name a type
|
20
|
-
|
20
|
+
Hoge *ptr;
|
21
|
-
^~~~
|
21
|
+
^~~~
|
22
|
-
|
22
|
+
|
23
23
|
```
|
24
24
|
|
25
25
|
不要なインクルードを排除したり、循環参照を避けたりする際に有用です。
|