やっとのことで、中間テスト終了。
ということで、今日は今までプログラミングしてました。
さて、内容はというと、Free Typingの改造ですが、
今回は終了時に詳細な結果を表示するような
改造をしてみました。
まだ、完成しているわけではないのですが、
一通りの枠組みはできているので、あとは、
肉付けをしていくだけです。
まぁ、ここのところが、どんな機能をつけようかと
迷うところで、面白いところです。
今回は、タブで制御できるようにしてあるので、
ある程度はスペースも確保できるので
いろいろな角度から分析できるようにしようと思います。
正直なところ、他のタイピングソフトと比べて、
殺風景で見劣りするので、こういうところで
差異をつけていくように考えています。
あと、今日やってて思ったことを二つほど。
・STLのエラーわかり辛い
最初、こんな感じでエラーが出たのですが、
エラー 2 error C2784: "bool std::operator <(const std::Tree<Traits> &,const std::Tree<Traits> &)"
: テンプレート 引数を "const std::Tree<Traits> &" に対して "const std::string" から減少できませんでした
(改行付加して、シングルクォーテーションをダブルクォーテーションに変更)
これを見て、一体何のエラーなのか、わかるものなんでしょうか。
(一概には言えないと思いますが)自分の場合、このエラーの原因は、
<string>がインクルードされていないのが原因でした。
STLのmapを使おうとして、検索のキーの型にstringを指定して、
コンパイラがmapに必要な比較演算子を探しても、
見つからなかった、ということだと思います。
・同一のプロシージャに複数のウィンドウから
メッセージをを送出するのは、危険すぎるかなぁ
ウィンドウクラス(Win32APIのじゃなくて、C++のクラス)が存在して、
そのインスタンスを複数生成すると、ウィンドウクラスの
staticの一時的なウィンドウプロシージャに、生成した
ウィンドウすべてが一度メッセージを送出することになるので、
それってどうなのかなぁ、ってことです。
最初は、危険かなぁ、と考えていましたが、
いろいろ、他の人が書いてあるのを見てみたり、
自分なりに考え見ましたが、結局、
よくよく考えてみると、根底の部分では、
TranslateMessageとか呼び出す前は、
全部共通のメッセージのはずなので、
ある程度、信頼性が確保できるのなら、
問題ないのかなぁ、という自分の中での結論に至りました。
最後に、今日のプログラミングで書いたソースコードの行数。
大体、5,6時間程度やって、400行・・・。
時間の割りに、あんまりかけてないかなぁ。