2006年01月10日
Visual Studio 2005で開発
Boostもインストールでき、本格的に開発環境をVisual Studio 2005に移しました。これまで.NET 2003で開発していたプロジェクトを2005用に変換してコンパイルしてみたところ、警告とエラーが出てくる出てくる……。まあ、それほど苦労せずに通すことができましたが、一つだけおやっと思ったのが以下の変更。
C++ コンパイラの準拠の変更によって、プロジェクトがビルドする前にコード変更が必要になる場合があります。C++ コンパイラの旧バージョンは、メンバ関数名 (例: MemberFunctionName) によるメンバ関数ポインタの指定を許可していました。C++ 標準では、演算子のアドレスを使用した完全修飾名 (例: &ClassName::MemberFunctionName) が必要です。
boost::bindでメンバ関数ポインタを使っていたので、書き直すことになりました。これまではClassName::MemberFunctionNameで指定できていたのが、頭に&が必要なんですね。
コンパイルも通り、実行してみると特に問題なく動作するようなので、今後はVisual Studio 2005で開発を継続することにしましょう。
投稿者 sai : 2006年01月10日 01:38
トラックバック
このエントリーのトラックバックURL:
http://www.wombat.jp/x/mt/mt-tb.cgi/384