名前をつけるのが苦手

名前をつける場面というのは多々あると思います。

ゲームでキャラクターに名前をつける。
データを保存するときに名前をつける。
変数に名前をつける。
生まれてくる子供に名前をつける。(まぁ結婚する予定なんてあるわけないですけど。)


どうも名前をつけるというのが苦手で、知人からドラクエを借りてプレイしたときに
自分の名前をつけてプレイしていたのですが、その話をしたら笑われてしまいました。
普通は自分の名前は付けないんですね。

今ペルソナ4をプレイしていますが、名前はアニメの好きなキャラからもじってつけています。
創造するより、存在するものを組み合わせてどうこうする方が、たぶん私にはあっているのだと思います。


プログラムを書くときに変数やクラスの名前なんかつけますが、英語でそのままの意味でつけてしまいます。
しかもアンダーバーでだらだらつなげて書くのが好きなのでなおさらです。
わざと長くしてるんじゃないかと聞かれれば反論できないかもしれません。
ソースが読みにくくて迷惑かけてたらごめんなさい。


今作ってるゲームでDirectXのラッパーを書いているのですが  ・・・やってしまいました。
ベクトルや行列を扱うクラス。それをmath.h math.cppで定義しました。


なぜ、このファイルを作ったときに気づかなかったのか。
普段Windowsのアプリを書かないといっても、この名前は付けたらうまく行きそうにないことは自明なのに。

ラッパーライブラリのプロジェクトでは#include はC標準関数のヘッダーをincludeしますが、
アプリではラッパーライブラリをインクルードディレクトリに指定しているために、#include はラッパーライブラリのmath.hをincludeするとこになります。
コンテキストメニューから[ドキュメントを開く]を選んではじめてこの事実を知りました。 なんという初歩的なボケをかましたのかと泣きたくなりました。というか泣きました。


これでなんの問題がおきていたかというと、d3dx9math.hをインクルードしたときに、sqrtfが定義されていないというエラーが起こっていたのです。
こちらで作ったmath.hではそんなもの定義していませんから当然エラーになります。
ラッパーライブラリでd3dx9math.hをインクルードしてもエラーにならないのに、何でアプリではエラーになるのか。
「プリコンパイルしちゃまずかったか? いやいやそんなことないよな・・・ inlineのせい?関係ないか・・・ #includeの順序が悪い?ちょっと変えてみるか  かわんねーな・・・」
ググっても手がかりなし。途方にくれた連休最後の夜でした。

すべての原因はmath.hという名前にしたこと。リネームすることで解決しました。



安易に名前をつけないように、気をつけねばいけませんね。