環境によって動いたり動かなかったりしたのはたまたまの模様。
- 「どうぶつしょうぎ」の完全解析 (田中先生のサイト)
- [どうぶつしょうぎ] 完全解析ツール 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 件のコメント:
コメントを投稿