質問編集履歴
3
t
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
|
-
|
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
|
-
|
30
|
+
mapの中身を`<const char*, bool>` から `<std::string, bool>` に変更したところ一応動くようにはなりました。
|
2
タイプミスを修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# 問題のコード
|
6
6
|
|
7
7
|
以下のコードを実行するとエラーが起きます。
|
8
|
-
また、glovalVの初期化の段階で`Initialization of '
|
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
環境を追加しました。
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
|
+
](5d9cc67c187f2b4a2af30399e3de784d.png)
|