回答編集履歴

1

質問内容の変化に合わせた内容を記述

2021/02/08 07:48

投稿

fana
fana

スコア11663

test CHANGED
@@ -7,3 +7,65 @@
7
7
 
8
8
 
9
9
  tmp1 と TestClass3 の定義順を逆順にすれば良いように見えます.
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ > namespace ts 内でコメントアウトされている
18
+
19
+ //class TestClass3;
20
+
21
+ の前方宣言を復活させ,
22
+
23
+ tmp1::tmp3()メソッドの実装を,class TestClass3の定義の後ろで行ってください.
24
+
25
+
26
+
27
+ を示しておく.
28
+
29
+
30
+
31
+ ```C++
32
+
33
+ namespace ts
34
+
35
+ {
36
+
37
+ //tmp1::tmp3()の宣言に必要
38
+
39
+ class TestClass3;
40
+
41
+
42
+
43
+ class tmp1
44
+
45
+ {
46
+
47
+ //ここではTestClass3の正体が不明なので,メソッドの実装は書けない
48
+
49
+ static TestClass3 tmp3();
50
+
51
+ };
52
+
53
+
54
+
55
+ class TestClass3
56
+
57
+ {
58
+
59
+ static tmp1 tmp4(){ tmp1 b; return b;}
60
+
61
+ };
62
+
63
+
64
+
65
+ //ここならTestClass3の定義が見えるから,メソッドの実装をここに書く
66
+
67
+ TestClass3 tmp1::tmp3(){ TestClass3 a; return a;}
68
+
69
+ }
70
+
71
+ ```