- 204 名前:デフォルトの名無しさん [2016/07/02(土) 17:08:25.09 ID:QBTa/uvw.net]
- 過疎っているけど・・・質問させてください
Windows10Pro 64bit上にMSYS2をインストールしてMINGW64を主にシェルとして使っているのだけど Linux上では正常に動いてMINGW64上ではSegmentation Faultになるプログラムが有るのです どうもグローバル変数の宣言がうまく処理できていないようなんだけどコンパイルオプションとかで対処できないでしょうか? ソースをコピペします main.cpp------------------------------------------- #include "class2.h" int main( int argc, char *argv[] ) { //Class2 object2; return 0; } class1.h -------------------------------------------- #include <string> #include <map> class Class1 { std::string type; static std::map<std::string, Class1 *> map; public: Class1(std::string s); ~Class1(); }; class1.cpp ------------------------------------------- #include <iostream> #include "class1.h" Class1::Class1(std::string s) : type(s) { std::cout << "Class1::Class1 type=" << type << std::endl; map[type] = this; } std::map<std::string, Class1 *> Class1::map; Class1::~Class1() {}
|

|