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