質問編集履歴

1

内容の修正

2019/02/07 16:41

投稿

mmmisaki
mmmisaki

スコア34

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