スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

かつて戦ったバグ 5

今日は、プログラミングで遭遇したバグを紹介します。
今回は、クラスに関するものが多いです。
(と言っても、事例は2つ。)

【バグNO.13】 よく見ると・・・
w-------ww-------ww-------w概略コードw-------ww-------ww-------w

class A{
public:
   A(){ };
   ~A(){ };
}:
【実行結果】
構文エラー : ';' が ':' の前にありません。

w-------ww-------ww-------w概略コードw-------ww-------ww-------w

これは簡単に分かるバグですね。クラスの最後の
セミコロン ; が コロン : になってます。

このセミコロンとコロンなんですけども、
見た目は似ており、更にキーボードで隣同士に配置されている為、
自分は間違えやすかったりします。
(特にクラスではコロンを使う機会が多いですし)



【バグNO.14】コンストラクタ・デストラクタとその他
w-------ww-------ww-------w概略コードw-------ww-------ww-------w

class Player{
public:
  Player(){ };
  ~Player(){ };
  DrawPlayer(){ };
};

【実行結果】
- int と仮定しました。メモ: C++ は int を既定値として(以下略


w-------ww-------ww-------w概略コードw-------ww-------ww-------w

これは、同じくクラスなのですが この中のDrawPlayerという関数
戻り値が指定されていないため出てくるエラーです。
正しくは、こうです。
-------------------------------------
【誤】DrawPlayer(){ };
【正】void DrawPlayer(){ };

-------------------------------------
(別にvoidじゃなくても良いのですが、今回は表示するだけの関数なのでvoid。)

コンストラクタ・デストラクタは戻り値を書く必要がないので、
ついその場の勢いで、普通の関数も 戻り値無しで書いてしまう時があります。


【バグNO.15】 原因不明・・・
w-------ww-------ww-------w概略コードw-------ww-------ww-------w


【実行結果】
'Direct9.exe': 'C:\Documents and Settings<中略>Direct9.exe' を読み込みました。シンボルが読み込まれました。
'Direct9.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました
プログラム '[2028] Direct9.exe: ネイティブ' はコード -1073741637 (0xc00000bb) で
終了しました。


w-------ww-------ww-------w概略コードw-------ww-------ww-------w
これ、未だに原因不明のバグです。 何コレー(´;ω・`)

プログラムが開始される前に色々と読み込むのですが、
ntdll.dllとやらを読み込んでいる時に、おかしな事になっている様子。
色々と調べてみたのですが、 よく分からず。
下手にいじると、パソコンが再起不能になる可能性も有る らしく、うかつに手が出せない。

一応、下記の解決策らしきものは見かけたのですが。
必ずしも正しい対処とは限りません。 色々と調べてからの方がいいと思います。)
----------------------------------------------
・フォルダ名をリネームする
・リカバリーする
・ATOKをアンインストールして入れなおす
・MS IMEに切り替える

----------------------------------------------

で、色々と試したところ、次のことが分かってます。
---------------------------------------------------------------------------
・Releaseモードだと実行できる。
・Debugフォルダ内にあるexeファイルは、別のディレクトリに移動させると実行できる。
・新しいプロジェクトを作った場合、新しいプロジェクトの方ではエラーは発生しない。

---------------------------------------------------------------------------

何なんでしょうかねこの現象は。
フォルダが悪いのだろうか?
とりあえず、現在は新しいプロジェクトで作成するという方法で回避してます。
(でも、気がかりです。)
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント
コメントの投稿
管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

プロジェクトウィッチ

プロジェクトウィッチの最新動画や評価レビュー、攻略情報なら「プロジェクトウィッチ」へ!


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。