【初心者歓迎】C/C++室 Ver.37【環境依存OK】
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
50:デフォルトの名無しさん 07/05/11 00:10:27 >>42 つ[XLibスレ] 51:デフォルトの名無しさん 07/05/11 14:58:41 >>48 printf("そこには置けません! %d,%d, %d", row, col, ban[row][col] ); こうすると、A1の時にはban[0][0]になんか値が入ってるぞ。 値が入ってたら、check_locationが!0を返すのは仕方ない事だな。 で、main()の宣言直後に初期化してみたが、 // init for ( row=0; row<MASU; ++row ) for ( col=0; col<MASU; ++col ) ban[row][col] = 0; それでも現象が変わらんね。 調べるのが面倒になったから、check_locationを改変してお茶を濁す。 int check_location(int row, int col) { if (ban[row][col]!=1 && ban[row][col]!=2) return 0; else return -1; } これでA1に置けるようになったぞ。 でもなんか石を取るロジックとかバグ多くないか?w 52:デフォルトの名無しさん 07/05/11 20:30:51 class A { public: virtual A& a() { return *this; } }; class B : public A {}; int main() { B b = A().a(); } とするとAをBに変換できないって怒られるけど、いちいちBでもa()をオーバーライドしないとダメ? 理屈は分かるんだけど、継承してるんだから勝手に変換してくれりゃいいのに・・・ ↑みたいなことやるのに何か良い方法ないですか?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4909日前に更新/189 KB
担当:undef