質問編集履歴

2

実際に作ろうとしているものを追記

2019/08/10 04:27

投稿

fdaskjlfda
fdaskjlfda

スコア40

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
 
90
90
 
91
- ## 追記
91
+ ## 追記1
92
92
 
93
93
  ```c++
94
94
 
@@ -105,3 +105,69 @@
105
105
  というのは、[このサイト](https://teratail.com/questions/94312)を読んでわかりました。
106
106
 
107
107
  ですが、関数の引数として`B::Hoge`を使う場合はどのようにすればよいか見当がつきません。
108
+
109
+
110
+
111
+ ## 追記2
112
+
113
+
114
+
115
+ 僕が作ろうとしているのは、Afile, Bfileがあり、以下のソースコードのように互いに依存しています。
116
+
117
+
118
+
119
+ ```c++
120
+
121
+ // Afile.hpp
122
+
123
+
124
+
125
+ #include "Bfile.hpp"
126
+
127
+
128
+
129
+ class B;
130
+
131
+
132
+
133
+ class A {
134
+
135
+ int getHoge(B::Hoge hoge);
136
+
137
+ };
138
+
139
+ ```
140
+
141
+
142
+
143
+ ```c++
144
+
145
+ // Bfile.hpp
146
+
147
+
148
+
149
+ #include <memory>
150
+
151
+ #include "Afile.hpp"
152
+
153
+
154
+
155
+ class A;
156
+
157
+
158
+
159
+ class B {
160
+
161
+ struct Hoge {
162
+
163
+ int huga;
164
+
165
+ };
166
+
167
+ std::unique_ptr<A> a;
168
+
169
+ };
170
+
171
+
172
+
173
+ ```

1

一部自己解決

2019/08/10 04:27

投稿

fdaskjlfda
fdaskjlfda

スコア40

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,23 @@
85
85
 
86
86
 
87
87
  上のソースコードでのエラーはなぜ起こっていて、どうすれば解決するかを教えていただけると嬉しいです
88
+
89
+
90
+
91
+ ## 追記
92
+
93
+ ```c++
94
+
95
+ int getHoge(B::Hoge hoge)
96
+
97
+ {
98
+
99
+ return hoge.huga; // hoge.hugaはclass B;しただけではわからない
100
+
101
+ }
102
+
103
+ ```
104
+
105
+ というのは、[このサイト](https://teratail.com/questions/94312)を読んでわかりました。
106
+
107
+ ですが、関数の引数として`B::Hoge`を使う場合はどのようにすればよいか見当がつきません。