質問編集履歴
1
内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
以下コードでコンパイラが嫌がる理由が分からないです
|
1
|
+
以下コードでコンパイラが~~嫌がる理由~~嫌がるようにした理由が分からないです
|
2
2
|
|
3
3
|
---
|
4
4
|
|
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
基本クラスがまだ普通のクラスならばコンパイラが怒るのも納得できるのですが、
|
20
20
|
|
21
|
-
抽象クラスだったら継承クラスすべてでfriend宣言されていれば、別に怒る必要はないと思うのですが、コンパイラは何がそんなにいやなんでしょうか?
|
21
|
+
抽象クラスだったら継承クラスすべてでfriend宣言されていれば、別に怒る必要はないと思うのですが、コンパイラは何がそんなにいやなんでしょうか?(多分昔のc++コンパイラなら許してるのでは?)
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
class Base {
|
36
36
|
|
37
|
-
//friend class Extend;
|
37
|
+
//friend class Extend; //コメントアウト切ったらエラーは消える
|
38
38
|
|
39
39
|
protected : virtual int print() const = 0;
|
40
40
|
|
@@ -60,7 +60,7 @@
|
|
60
60
|
|
61
61
|
public : Extend(int);
|
62
62
|
|
63
|
-
public : ~Extend() { delete p; };
|
63
|
+
public : ~Extend() { delete p; }; //deleteしたいがprotectecなので怒る
|
64
64
|
|
65
65
|
private :
|
66
66
|
|