- 1 名前:BOOTS [2007/10/18(木) 08:09:35 ]
- 語って.はぁと part boost::mpl::int_<5>
過去スレ 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/
- 224 名前:219 mailto:sage [2007/12/24(月) 09:48:19 ]
- >>221
いや,もちろんそれでやりたいこととしてはOKなんですが, 一般的な演算子を指定できれば応用範囲も広がるかなと思って. >>222 VC9 だとテンプレートを検索しまくって 「あれでもない,これでもない」と C2780 を連発した揚句, 時々 ambiguous だというエラーも出るんですよ. なるほど, g++ でもそのままでは通らなくて, static_cast すれば通るんですね. operator() だと問題なくて operator= だと問題になる理由がわからないですが. 既定の代入演算子が別途用意されてしまうからかなぁ. 自前で = をオーバーロードした時って既定の = は 定義されないんでしたっけ? でも独自にコンストラクタを作ってもコピーコンストラクタは 勝手に作られていたような気がする.
- 225 名前:219 mailto:sage [2007/12/24(月) 09:51:05 ]
- >>223
なるほど,それで operator<< が見つからないと怒られてるんですね. たぶんグローバル名前空間の operator<< を探しに行って「無い」 と怒ってるように思います. 自分はてっきりストリームの << 演算子はグローバル名前空間に 定義されていて必要なクラスに friend 指定されているのだと 思っていました.
- 226 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 11:35:14 ]
- >>224
boost::bindはlambdaと違って一旦メンバーポインタにするから。 だからoverloadされてるとまずい。
|

|