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

質問編集履歴

3

2020/10/18 15:28

投稿

KOTTON
KOTTON

スコア47

title CHANGED
File without changes
body CHANGED
@@ -5,10 +5,12 @@
5
5
  # 問題のコード
6
6
 
7
7
  以下のコードを実行するとエラーが起きます。
8
- また、glovalVの初期化の段階で`Initialization of 'globalV' with static storage duration may throw an exception that cannot be caught`という警告が出ます。
8
+ ~~また、glovalVの初期化の段階で`Initialization of 'globalV' with static storage duration may throw an exception that cannot be caught`という警告が出ます。
9
9
  この変数をexternで他のファイルからアクセスしたいのでどうしてもグローバル変数にしたいのですがどうしたらいいですか?
10
+ intなどはグローバル変数にできるのにmapができない具体的な原因は何なんでしょう? ~~
10
11
 
11
- intなどはグローバル変数にできるのにmapできい具体的な原因しょう?
12
+ うやらこれはグローバル変数が問題のではないみたいす。
13
+ globalVをmain関数の中に移動させてもクラッシュします。(終了コード3)
12
14
 
13
15
  ```cpp
14
16
  #include <iostream>
@@ -23,6 +25,6 @@
23
25
  }
24
26
  ```
25
27
 
26
- 以下のエラーが発生します。
28
+ ## 一応解決?
27
29
 
28
- ![![イメージ説明](18f1ee6cd9a7504daddfa056224f7946.png)](5d9cc67c187f2b4a2af30399e3de784d.png)
30
+ mapの中身を`<const char*, bool>` から `<std::string, bool>` に変更したところ一応動くようにはなりました。

2

タイプミスを修正しました

2020/10/18 15:28

投稿

KOTTON
KOTTON

スコア47

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
  # 問題のコード
6
6
 
7
7
  以下のコードを実行するとエラーが起きます。
8
- また、glovalVの初期化の段階で`Initialization of 'aaaa' with static storage duration may throw an exception that cannot be caught`という警告が出ます。
8
+ また、glovalVの初期化の段階で`Initialization of 'globalV' with static storage duration may throw an exception that cannot be caught`という警告が出ます。
9
9
  この変数をexternで他のファイルからアクセスしたいのでどうしてもグローバル変数にしたいのですがどうしたらいいですか?
10
10
 
11
11
  intなどはグローバル変数にできるのにmapができない具体的な原因は何なんでしょう?

1

環境を追加しました。

2020/10/18 15:01

投稿

KOTTON
KOTTON

スコア47

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,7 @@
1
+ # 環境
2
+ C++ 17
3
+ Clion
4
+ Cmake 3.16
1
5
  # 問題のコード
2
6
 
3
7
  以下のコードを実行するとエラーが起きます。
@@ -17,4 +21,8 @@
17
21
  int main() {
18
22
  std::cout << globalV.at("val") << std::endl;
19
23
  }
20
- ```
24
+ ```
25
+
26
+ 以下のエラーが発生します。
27
+
28
+ ![![イメージ説明](18f1ee6cd9a7504daddfa056224f7946.png)](5d9cc67c187f2b4a2af30399e3de784d.png)