teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

7

バージョン指摘の回答を復元

2020/06/15 15:14

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,3 +1,8 @@
1
+ g++9.2.0では問題なく動いています。
2
+ g++のバージョンを上げてみては?
3
+
4
+ ---
5
+
1
6
  > 「クラス型」は先に記載するしか対応方法はないのでしょうか?
2
7
 
3
8
  そんなことはありません。

6

文言修正

2020/06/15 15:14

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  > 「クラス型」は先に記載するしか対応方法はないのでしょうか?
2
2
 
3
3
  そんなことはありません。
4
- スーパー(親)クラスと一致してしまう場合はサブ(子)クラス先に書かなければなりませんが。
4
+ スーパー(親)クラスとサブ(子)クラスをcatchしている場合はサブ(子)クラス先に書かなければなりませんが。
5
5
 
6
6
  動作確認したコードは質問に貼った通りのものでしょうか?
7
7
  例えば以下のようなコードの場合、`msg`はスコープを抜けて解放されるためうまく動きませんが…

5

順序について追記

2020/06/15 14:59

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,3 +1,8 @@
1
+ > 「クラス型」は先に記載するしか対応方法はないのでしょうか?
2
+
3
+ そんなことはありません。
4
+ スーパー(親)クラスと一致してしまう場合はサブ(子)クラスを先に書かなければなりませんが。
5
+
1
6
  動作確認したコードは質問に貼った通りのものでしょうか?
2
7
  例えば以下のようなコードの場合、`msg`はスコープを抜けて解放されるためうまく動きませんが…
3
8
  ```C++

4

文言修正

2020/06/15 14:58

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,4 +1,3 @@
1
- 質問に当たってコードを簡略化した結果動く様になっているのかもしれません。
2
1
  動作確認したコードは質問に貼った通りのものでしょうか?
3
2
  例えば以下のようなコードの場合、`msg`はスコープを抜けて解放されるためうまく動きませんが…
4
3
  ```C++

3

文言修正

2020/06/15 14:44

投稿

SHOMI
SHOMI

スコア4079

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

コード追記

2020/06/15 14:44

投稿

SHOMI
SHOMI

スコア4079

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

コードについて追記

2020/06/15 14:40

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,2 +1,5 @@
1
1
  g++9.2.0では問題なく動いています。
2
- g++のバージョンを上げてみては?
2
+ g++のバージョンを上げてみては?
3
+
4
+ 質問に当たってコードを簡略化した結果動く様になっているのかもしれませんが…
5
+ 動作確認したコードは質問に貼った通りのものでしょうか?