質問編集履歴
5
Animalクラスの定義の中の publicの下に書いてある operator<<の上で、 typename Typeを記入しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,7 +38,9 @@
|
|
38
38
|
|
39
39
|
public:
|
40
40
|
|
41
|
+
template<typename Type> //この関数の上に typename Typeを記入しました。
|
42
|
+
|
41
|
-
void operator<<(
|
43
|
+
void operator<<(HashEntry<Type>* tmp){ cout << tmp ->getValue(); }
|
42
44
|
|
43
45
|
|
44
46
|
|
4
説明の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,16 @@
|
|
1
1
|
<<(output)のオペレーターのオーバーライドをしたいです。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
下記で、cout << *(currentEntry -> getValue());このように表示をしたいのですが、
|
6
|
+
|
7
|
+
<< を overrideする必要があるとのことでした。
|
8
|
+
|
9
|
+
どのように overrideをしていいのかが分からず、試行錯誤しているのですが、
|
10
|
+
|
11
|
+
アドバイスをいただけないでしょうか?
|
12
|
+
|
13
|
+
|
2
14
|
|
3
15
|
|
4
16
|
|
3
エラーを追加しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -31,6 +31,10 @@
|
|
31
31
|
|
32
32
|
|
33
33
|
```
|
34
|
+
|
35
|
+
上記で追加したところ出るエラーは下記のエラーです。
|
36
|
+
|
37
|
+
![イメージ説明](56b53c640f557de548899846a7336737.png)
|
34
38
|
|
35
39
|
|
36
40
|
|
2
class Animalのなかで template <typename Type>をしたのですが、そうするとAninal classの cppファイルでエラーが出ます。
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,6 +11,8 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
```c++
|
14
|
+
|
15
|
+
template <typename Type> //これを追加しました。
|
14
16
|
|
15
17
|
class Animal{
|
16
18
|
|
1
変数名を変えました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
public:
|
26
26
|
|
27
|
-
void operator<<((HashEntry<Type>*
|
27
|
+
void operator<<((HashEntry<Type>* tmp){ cout << tmp ->getValue(); }
|
28
28
|
|
29
29
|
|
30
30
|
|