[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/16 09:47 / Filesize : 198 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Boost総合スレ part9



1 名前:デフォルトの名無しさん [2010/05/28(金) 11:49:47 ]
過去スレ
Part 8 pc12.2ch.net/test/read.cgi/tech/1251446016/
part 7 pc12.2ch.net/test/read.cgi/tech/1232367742/
part 6 pc11.2ch.net/test/read.cgi/tech/1207749841/
part 5 pc11.2ch.net/test/read.cgi/tech/1192662575/
part 4 pc11.2ch.net/test/read.cgi/tech/1175663346/
part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/
part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/
part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/

■関連サイト■
Boost C++ Libraries
www.boost.org/

Boost 翻訳プロジェクト
boost.cppll.jp/HEAD/

Let's Boost
www.kmonos.net/alang/boost/

boost info
shinh.skr.jp/boost/

159 名前:デフォルトの名無しさん mailto:sage [2010/10/13(水) 20:56:27 ]
ファンクションオブジェクトを型ごとにつくればいいのか。。。

160 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 01:18:45 ]
>>159
オブジェクトはひとつでいい。すべての型に対応するオーバーロードがあれば。

>>154
if (T* p = boost::get<T>(&v)) ... おすすめ。

161 名前:デフォルトの名無しさん mailto:sage [2010/10/14(木) 20:18:36 ]
autoでどうにかならないの?

162 名前:デフォルトの名無しさん mailto:sage [2010/10/15(金) 01:18:06 ]
>>161 何が?

163 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 17:09:18 ]
spirit::classicのコードをメンテというか改造使用と思ってるんだけどこれを期にspirit v2に移るべきでしょうか?
機能追加するので全面書き直しOKという前提で。


164 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 17:33:40 ]
V2ならパース結果をコンテナやタプルに格納する処理を超簡単に書ける。
Boost.Fusionとの連携もすごい。Boost.Qi も出始めと比べて安定して枯れてきてる。
Classic のコードを保守しなくていいなら乗り換えない理由はないと思う。

165 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:28:44 ]
コンパイラの負担が阿呆ほど増えるけどな

166 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:32:06 ]
Spirit 使ってる時点で既にコンパイル時間はboostしてるだろ。

167 名前:デフォルトの名無しさん mailto:sage [2010/10/23(土) 18:37:36 ]
>>164-165
わかった。乗り換えてみるよ。




168 名前:デフォルトの名無しさん mailto:sage [2010/10/28(木) 15:41:30 ]
sourceforgeのファイル一覧がひどいことになってるな
何のベンチマークだよこれ

169 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:12:33 ]
boostを使用してだいぶ開発が進んだ頃に以下のエラーが出るようになりました

1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1526): error C2061: 構文エラー : 識別子 'clasw'
1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2365: 'boost::type_traits::is_mem_fun_pointer_tester' : 再定義; 以前の定義は '関数' でした。
1>d:\sdk\boost_1_44_0\boost\type_traits\detail\is_mem_fun_pointer_tester.hpp(1527): error C2998: 'boost::type_traits::yes_type boost::type_traits::is_mem_fun_pointer_tester' : テンプレート定義にはなれません。

リビルドしてもこのエラーが出ることもあるしでないこともあるし、出現位置もバラバラで全く原因がわかりません
上記ファイルを使用する機能や上記エラー内容が分かれば教えてください

170 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:31:52 ]
claswこれなんだ

171 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:33:44 ]
わからないです。そんなもの見つからないし、そんなコードがあったら毎回エラーになるはずですよね・・・

172 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:34:51 ]
とりあえず boost/function.hpp 使ってるところをすべてコメントアウトしたら出なくなったかも

173 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:37:17 ]
と思ったら21回目のリビルドででました・・・

174 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:39:43 ]
ちなみにIDEはVisualStudio2010Express
x86ターゲット、デバッグビルド
CPUはCore2Duoです

175 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:42:54 ]
とりあえずエラーになってしまったオブジェクトも再ビルドすれば普通に通るので、何度がビルドすれば実行ファイルはできます

コンパイラのバグかな?

176 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 13:55:44 ]
ディスクが壊れてるんじゃね?

177 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 17:10:56 ]
>>174
VC10なら使える人が多いんだから、エラーの出るソース晒してみそ

ビルドのやり直しで通るなら、簡易ビルドをOFFにしてみるてがある。



178 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 20:35:59 ]
念のためだけど、Debug フォルダ全消しはしてみたよね?

179 名前:デフォルトの名無しさん mailto:sage [2010/10/31(日) 22:18:47 ]
>>176-178

レスありがとうございます

boostのディレクトリを丸々コピー→古いのを削除→新しいのをリネームしたら出なくなったっぽいです。
ディスク障害だったのかな・・・しばらく様子を見てみます

180 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:21:45 ]
昔はc++を喜んで使ってたが
lisp使うようになってからは
lispでデバックしてc++は自動生成するだけだわ
それにしてもc++の案件多いなあ

181 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:25:02 ]
>>180
最近のlispはC++にコンバートできるんだ?
Cへのコンバートなら良く見かけるんだけど・・・。

あとSchemeで実用レベルのCorC++コンバーターとかあります?

182 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 15:30:32 ]
>>180
Lispのどこらへんが魅力ですか? いや、マジに質問で。そっちのが効率いいなら
そっちに乗り換えるのもありかなと。

183 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 16:38:02 ]
>>182Lisp族の魅力はググればいろいろ読めるよ。

184 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 17:46:13 ]
切ったりくっ付けたりかね

185 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 21:37:58 ]
lispは合理的ではあるけど、アプリのすべての部分をlispで書くのは無茶じゃないか?


186 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 21:58:24 ]
サポートされるライブラリしだいだとおもうけどね。

187 名前:デフォルトの名無しさん mailto:sage [2010/11/01(月) 22:55:59 ]
関数単位はCで書いてフレームにLispとかが良いのかね



188 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 11:08:28 ]
それもありだね。

189 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 12:49:37 ]
あなたにVacuum!〜ちょいやわらかめ〜

190 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 20:02:11 ]
Boost ってweb frameworkないの?

191 名前:デフォルトの名無しさん mailto:sage [2010/11/02(火) 22:06:40 ]
馬鹿は死んだほうがいいね。

192 名前:デフォルトの名無しさん mailto:sage [2010/11/04(木) 08:26:01 ]
javaをc++の方言としてコンパイルする方法あるみたいだから
tomcatあたりをc++としてコンパイルしたらいいんでないの?

193 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 00:45:01 ]
メモリーが無限にあればGCなんていらなくなるな。

194 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:28:14 ]
boostのmulti_arrayってコピーすると
ポインタで共有するんじゃなくて内容丸ごとコピーするのね
普通の配列みたいに共有して、不要になったら解放ってできないかな
shared_ptr<multi_array<T,int>>にするしかない?

195 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:31:04 ]
>>194
「普通の配列」が何を指してるのか知らないけど、言語組み込みの配列も std::vector も
boost::array も共有なんて動作はしません。

で、共有したいという目的に対して shared_ptr では何か不満なの?

196 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:31:39 ]
flyweightはダメか?

197 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:37:23 ]
>>194
www.boost.org/doc/libs/1_44_0/libs/multi_array/doc/reference.html

multi_array_ref やら view generator やらあるらしいぞ。



198 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:37:30 ]
194の配列とポインタの理解度に不安がよぎるな

199 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 15:47:22 ]
どうせJavaから来たニワカだろ。

200 名前:194 mailto:sage [2010/11/05(金) 16:05:03 ]
表現が悪かったっす
クラスメンバに多次元配列がほしいのですが、コンパイル時にサイズが不明なので、
言語組み込みの配列の配列を動的に確保して、多次元配列にしていました
管理が面倒なのでmulti_arrayを使うことに変更したいのですが、
インスタンスをコピーすることがままある&配列の中身は変えないので、
どうせなら配列の中身を丸ごとコピーしないで、ポインタだけで共有したいな、と

目的にはshared_ptr<multi_array<T,int>>が一番合致するんですが、
そうすると結構ソースコードを書き換える必要があるので

201 名前:デフォルトの名無しさん mailto:sage [2010/11/05(金) 16:17:11 ]
shared_ptrだと不味いけどmult_arrayがまるごとコピーじゃなかったら問題なかったってことは
*とか->の話なのか?

202 名前:デフォルトの名無しさん mailto:sage [2010/11/06(土) 01:48:28 ]
>>200
そんなに書き換えがいやなら、元の名前で multi_array<T,int>& とか multi_array_ref とかを
別で置いたらいいんじゃね?

203 名前:デフォルトの名無しさん mailto:sage [2010/11/06(土) 07:41:40 ]
>>200
参照渡しで渡せばよくないか?

204 名前:デフォルトの名無しさん [2010/11/20(土) 09:47:50 ]
1.45
Boost C++ Libraries
www.boost.org/


205 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 12:08:55 ]
あれ・・・bjamでビルド失敗するんだがなんだこれ
1.44以前や最新のリポジトリだと問題ないんだが


206 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 16:58:02 ]
1.45 VC10でビルドできたよ。
bjamがアンチウイルスに引っかかることは昔あったな。


207 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 17:07:41 ]
1.45ビルドできたと思ってたら、アプリのビルドで未定義外部シンボルが出てきた。



208 名前:205 mailto:sage [2010/11/20(土) 19:08:36 ]
zipや7zで圧縮されてるソースだと駄目だったけどbz2のはビルド出来た
解凍か何かでしくじってたんではないかと思う

209 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 19:58:30 ]
あー、解凍云々じゃなくて、ICU入れて--installオプションでビルドしようとするとしくじるみたい
MPICHも絡んでるかもしれん
bjamはフル機能でビルドしようとすると途端に動作がおかしくなるんだよな・・・


210 名前:デフォルトの名無しさん mailto:sage [2010/11/20(土) 23:59:36 ]
駄目だ、Regexビルドしようとするとエラー吐く
わけわからんちん

211 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 00:41:53 ]
今落としてやってみたが普通にビルドできたぞ

212 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 00:56:26 ]
win vc9環境. 公式から落としてきた bjam.exe だとエラーで、
bootstrap.bat で生成したbjam.exeだとコンパイルできた…
そういうものなの?

213 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 00:58:17 ]
せっかく入ってるんだからそっちつかえってことじゃね

214 名前:210 mailto:sage [2010/11/21(日) 02:54:08 ]
今までは最新のリポジトリからビルドしたbjam.exeを常に使ってたんだけど、
>>212のレスを見て1.45リリース版のソースからビルドしたbjam.exeを使ったらビルド出来た
今回のリリースはちょっと癖があるな

215 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 10:39:02 ]
一番でかい更新はbjamってことか

216 名前:207 mailto:sage [2010/11/21(日) 13:36:23 ]
>>207のリンクエラーは俺のミスでした。
間違えてx86でライブラリビルドしてx64のアプリをビルドしてました。
x64でboostのビルドやり直したら直った。


217 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 13:43:43 ]
x64とx86ってライブラリ名同じなんだけどそういうものなの?




218 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 16:34:15 ]
むしろ別なのを見たことがない

219 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 16:35:04 ]
>>217
        / /      '" /    / ,,-、 /、ヽ\  ゙i;,-''"   / ./  /─''''" ̄ ,,/
        /  ./ /   ,,,-‐'"-/   / ./ ゙" "\  ゙i;,  | 、// /   "    ,,,/
       / ,-''/ /    ,,-''"_ /   //       ヽ  l /  レ'/~       /‐/
      / /  | l|  ,,-'"/゙/,」|    /    ..::;;;,,,  }  /   |~ ,,-‐,,,-'''  //~
     / /-'''''| | /l /‐'''/'' .人   i'    .:: :;'" / / l  ノ゙i// ,,-‐'"──==
     //'"   ゙i;: | /‐' ./,, ,,ノ ゙i;,.  |     _,,-ヾ.// ノ ,-''" l |  ‐'"   ,,,-‐二
     レ'     ヽl:i' ./  )'、‐,\゙i;: | ,,,-‐二-┬ナ" /‐'"‐ 〉 ,i'───'''" ̄~-''"
         ,-‐',ヽ|'"  ./゙ヽ-ゝ='\゙i,'''ヽ -゙=‐'   '" ,‐'ノ,, /‐''" ,,-‐'''"~
        / / ;;:.  ──ヽ, ゙i;'''''' , ゙ "-‐'''''"""    〔_,/ ゙ヽ'-'"~
       / /   / ,; ,,_}_  ゙、 ./__,,  _,,       /      \    
      ,;'  / ,;;;:;:/;: ,,   ~ ヽ ヽ.  ヽニ‐'、     / /       ゙i,_        おめぇ、ここ大丈夫か?
    ./        ''  ,l,,,,,,/ 〉  ゙ヽ、 ''''    ,,-''" /        ゙i.\
    /          / ヽ /     ゙ヽ、--イ~;;:'" //   ::;:;:;:   | \
   i          /  ̄ ゙̄"          |;:" //            ヽ-‐'''"~l|
  ./    ゙''''ヽ、,,-‐''"              .i /,;'"   _,,,,,,,,,_,,,-‐'''-''"~     |
 (" ̄"'''''‐--、,,_i'                 // '",,-─'''"  ,,,-‐'",-‐'"  ,,,,-‐ .___|
 i' ゙'':::::::::::::::::::::::}



220 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 20:05:13 ]
CUDAのDLLは32bitと64bitで名前が違うな

221 名前:デフォルトの名無しさん mailto:sage [2010/11/21(日) 21:04:11 ]
>>219
どうやってきりかえるん?

222 名前:デフォルトの名無しさん mailto:sage [2010/11/22(月) 06:55:09 ]
Intelのライブラリも名前違ってたな。

223 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 12:58:51 ]
Boost インスコ・コンパイルしてみた
容量でか杉わろす

224 名前:デフォルトの名無しさん mailto:sage [2010/11/23(火) 19:41:47 ]
32ビットと64ビットのライブラリでファイル名一緒だから、出力ディレクトリを変えている
自分はstage派だから--stagedir=stage32とstage64

225 名前:デフォルトの名無しさん mailto:sage [2010/11/24(水) 23:04:47 ]
(´;ω;)自前 gcc-4.6.0(win) で signals だけが build を失敗する・・・orz
自前 gcc-4.5.1,4.5.2(win) では、build に成功するのにヽ(`Д´)ノウワァァァン

226 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 01:37:45 ]
msmを試してみてるんだけど
コンパイルに時間かかるね

227 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 01:47:27 ]
gccはバージョンによってエラー吐いたり吐かなかったりで始末に負えん



228 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 02:07:17 ]
gcc に限ったことじゃないだろう。

229 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 02:25:05 ]
Boostはとくにひどいね

230 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 06:42:52 ]
>>225
(´・ω・) log 吐かせたら stl_map.h の所で error してた
取りあえず、自前 gcc-4.6.0 の事なので放置・・・(´;ω;`)

以下、一部抜粋
-----
In file included from c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/map:61:0,
from ./boost/signals/detail/named_slot_map.hpp:20,
from libs\signals\src\named_slot_map.cpp:12:
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_map.h: In member function 'void std::map<_Key, _Tp, _Compare, ・・・ < 略 >
libs\signals\src\named_slot_map.cpp:105:23: instantiated from here
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_map.h:626:9: error: call of overloaded
c:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.0/include/c++/bits/stl_tree.h:763:7: note: candidates are: void std::_Rb_tree<_Key, ・・・ < 略 >

231 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 09:26:14 ]
こんなガラパゴスで愚痴ってたって解決せんぞ
さっさとBoostコミュに報告しろ


232 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 12:57:09 ]
「自前」なので放置、ってことは gcc の中身をいじってるんじゃないか?

相談したいならエラーメッセージを省略とか、わけわからんことするな。

233 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 16:06:27 ]
>>225
またおまえか。

234 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 16:10:26 ]
>>231-232
CYGWIN+MinGW+GCCスレでもずっとこの調子で長期にわたって
住民を困らせてるやつだから相手にしないほうがいいぞ。

235 名前:デフォルトの名無しさん mailto:sage [2010/11/25(木) 18:23:07 ]
あら、そんな奴だったのか
ならば死ぬがよい

236 名前:うp [2010/11/28(日) 23:31:48 ]
uproda.2ch-library.com/lib318675.h.shtml
DLキー:1

237 名前:うp mailto:sage [2010/11/29(月) 05:34:15 ]
uproda.2ch-library.com/3187145H1/lib318714.zip
DLキー:1



238 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 08:16:18 ]
SpritiとかQiとかYacc使えばいいのに

239 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 08:20:50 ]
boost.FC++
は何故採択されなかったのか


240 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 08:44:11 ]
Boost.Coroutine
がレビュースケジュールに入ってない
結局入るの?

241 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 20:24:21 ]
BOOST_SCOPE_EXITでメンバ関数を呼びたいときって

CMyClass* pthis = this;
BOOST_SCOPE_EXIT((&pthis))
{
  pthis->MemberFunc();
}
BOOST_SCOPE_EXIT_END;

こうしないと駄目?

242 名前:デフォルトの名無しさん mailto:sage [2010/12/13(月) 12:26:33 ]
gccでC++0xオプションつけても動きますか?


243 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 01:55:11 ]
static boost::array<int, 5> Array;
のようにboost_arrayにstaticを付けるとvc2005ではデバッグ時にシンボルとして扱ってくれずに
ブレークポイントもウォッチも出来なくなりました。
これはboost::arrayをstaticにしてはだめということでしょうか?
それともvc2005が対応してないだけなのでしょうか?

244 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 12:00:21 ]
arrayを何とかして要素数の指定無しに使いたいんですが、無理なんでしょうか。

array<int, 3> a = {1,2,3};の要素数は推測して欲しいです。

245 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 12:07:20 ]
int a[] = { 1, 2, 3};

246 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 12:27:22 ]
>>245
その場合begin()やend()が提供されません

247 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 13:00:03 ]
boost::rangeのbegin()とend()を使えばいいのでは?



248 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 14:57:50 ]
>>247
あり^^

249 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 08:56:10 ]
なぜYes No判定関数は必ず
is_foo
なんだろう

250 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 09:03:35 ]
Is 〜はyesかnoしか返さないからだろ

251 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 13:22:56 ]
>>249 if (x.is_foo()) ... が英語の自然な文として読めるからだろ

252 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 22:57:42 ]
すみません質問です。
Win32のAPIによくあるコールバックから手軽にメンバ関数を呼びたくて
boost::bindでクラスのメンバ関数にバインドしたいのですがうまくいかず困っています。

具体的にはSetWindowsHookExに渡すHOOKPROCに、以下のメンバ関数を割り当てたいです
LRESULT App::HookProc( int code, WPARAM wp, LPARAM lp )

ちなみにHOOKPROCの定義はこんな感じ
typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);


こんな感じで描いてみたんですが
SetWindowsHookEx( WM_IME_SETCONTEXT, boost::bind( &App::HookProc, this, _1, _2, _3 ), NULL, 0 );

結果は次の通りです
'SetWindowsHookExW' : 2 番目の引数を 'boost::_bi::bind_t<R,F,L>' から 'HOOKPROC' に変換できません

どう書いたら通るんでしょうか。よろしくお願いします

253 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 23:10:30 ]
無理に決まってんだろ
静的なメンバ作ってそこから呼ぶしかない

254 名前:デフォルトの名無しさん mailto:sage [2010/12/24(金) 23:22:33 ]
インスタンスがあるならそれ使って呼ばせられなかったっけ

255 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 00:12:42 ]
呼び出し規約と引数をHOOKPROCに合わせたトランポリン関数を
動的に生成して…とか考え始めて無駄な時間を過ごすのが俺は好き。

256 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 00:53:02 ]
>>252
std::functionを使えばいい。
std::functionのオブジェクトのポインターをLPARAMとかを経由して渡す
コールバック関数は、ポインター経由でfunctionを使う。

257 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 09:05:05 ]
LPARAMはそういう用途じゃないから渡せなくないか?



258 名前:デフォルトの名無しさん mailto:sage [2010/12/25(土) 09:40:30 ]
や、気のせいだった

259 名前:デフォルトの名無しさん mailto:sage [2010/12/26(日) 15:12:02 ]
class hoge{ virtual void f(); };
class fuga : public hoge { void f(); };

x_queue<hoge> q;

q.push(hoge());
q.push(fuga());

q.front().f(); // hoge::f
q.front().f(); // fuga::f


こんな感じのコンテナってboostにない?
ようするにptr_vectorからnewも隠蔽したような感じの
stl基準満たしてなくてもいいです






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<198KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef