回答編集履歴
7
バージョン指摘の回答を復元
test
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
g++9.2.0では問題なく動いています。
|
2
|
+
|
3
|
+
g++のバージョンを上げてみては?
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
---
|
8
|
+
|
9
|
+
|
10
|
+
|
1
11
|
> 「クラス型」は先に記載するしか対応方法はないのでしょうか?
|
2
12
|
|
3
13
|
|
6
文言修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
そんなことはありません。
|
6
6
|
|
7
|
-
スーパー(親)クラスと
|
7
|
+
スーパー(親)クラスとサブ(子)クラスをcatchしている場合はサブ(子)クラス先に書かなければなりませんが。
|
8
8
|
|
9
9
|
|
10
10
|
|
5
順序について追記
test
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
> 「クラス型」は先に記載するしか対応方法はないのでしょうか?
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
そんなことはありません。
|
6
|
+
|
7
|
+
スーパー(親)クラスと一致してしまう場合はサブ(子)クラスを先に書かなければなりませんが。
|
8
|
+
|
9
|
+
|
10
|
+
|
1
11
|
動作確認したコードは質問に貼った通りのものでしょうか?
|
2
12
|
|
3
13
|
例えば以下のようなコードの場合、`msg`はスコープを抜けて解放されるためうまく動きませんが…
|
4
文言修正
test
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
質問に当たってコードを簡略化した結果動く様になっているのかもしれません。
|
2
|
-
|
3
1
|
動作確認したコードは質問に貼った通りのものでしょうか?
|
4
2
|
|
5
3
|
例えば以下のようなコードの場合、`msg`はスコープを抜けて解放されるためうまく動きませんが…
|
3
文言修正
test
CHANGED
@@ -1,10 +1,4 @@
|
|
1
|
-
g++9.2.0では問題なく動いています。
|
2
|
-
|
3
|
-
g++のバージョンを上げてみては?
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
質問に当たってコードを簡略化した結果動く様になっているのかもしれません
|
1
|
+
質問に当たってコードを簡略化した結果動く様になっているのかもしれません。
|
8
2
|
|
9
3
|
動作確認したコードは質問に貼った通りのものでしょうか?
|
10
4
|
|
2
コード追記
test
CHANGED
@@ -7,3 +7,33 @@
|
|
7
7
|
質問に当たってコードを簡略化した結果動く様になっているのかもしれませんが…
|
8
8
|
|
9
9
|
動作確認したコードは質問に貼った通りのものでしょうか?
|
10
|
+
|
11
|
+
例えば以下のようなコードの場合、`msg`はスコープを抜けて解放されるためうまく動きませんが…
|
12
|
+
|
13
|
+
```C++
|
14
|
+
|
15
|
+
bool check_0_100(int x){
|
16
|
+
|
17
|
+
string msg;
|
18
|
+
|
19
|
+
if(x < 0)
|
20
|
+
|
21
|
+
{
|
22
|
+
|
23
|
+
msg = "負の数が入力されました。";
|
24
|
+
|
25
|
+
throw msg.c_str();
|
26
|
+
|
27
|
+
}
|
28
|
+
|
29
|
+
else if(x > 100)
|
30
|
+
|
31
|
+
throw ErrorOverFlow();
|
32
|
+
|
33
|
+
else
|
34
|
+
|
35
|
+
return true;
|
36
|
+
|
37
|
+
}
|
38
|
+
|
39
|
+
```
|
1
コードについて追記
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
1
|
g++9.2.0では問題なく動いています。
|
2
2
|
|
3
3
|
g++のバージョンを上げてみては?
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
質問に当たってコードを簡略化した結果動く様になっているのかもしれませんが…
|
8
|
+
|
9
|
+
動作確認したコードは質問に貼った通りのものでしょうか?
|