環境によって動いたり動かなかったりしたのはたまたまの模様。
- 「どうぶつしょうぎ」の完全解析 (田中先生のサイト)
- [どうぶつしょうぎ] 完全解析ツール on Ubuntu
dobutsu.cc の State:<< オペレータの定義中で、戻り値として ostream を返していなかったのが原因。
そのため、State s; ... std::cerr << s << std::endl;
のようなコードで Segmentation fault になっていた。
dobutsu.cc の State:<< オペレータの定義の最後に、return os;
の一行を入れておけばよい。
これで、Ubuntu - 13.04 の 32bit 版でも正常に動作するようになった。
パッチ:
$ diff -u dobutsu-org/dobutsu.cc dobutsu
--- dobutsu-org/dobutsu.cc 2009-06-29 20:28:40.000000000 +0900
+++ dobutsu/dobutsu.cc 2013-05-26 22:55:44.006474987 +0900
@@ -99,6 +99,9 @@
os << "+\n";
else
os << "-\n";
+
+ // ADDED BY XAWA
+ return os;
}
0 件のコメント:
コメントを投稿