掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関数オブジェクトと関数ポインタを区別なく扱いたい (ID:66740)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
tetrapodさん、あーさん、ありがとうございます。 > 暗黙の変換「配列名→最初の要素へのポインタ」は常になされるわけではない。 foo(even+0,even+4,iseven); と書きなおすことでコンパイルできました。暗黙の変換は常になされるわけでは ないということですが、find_if(even,even+4,iseven);が問題なくコンパイルできる ところから、自前で作成したテンプレート関数fooの場合でも foo(even,even+4,iseven);がコンパイルを通るようにしたいのですが、 それは不可能でしょうか? (find_if(even,even+4,iseven)で暗黙の変換が適用されるのは、どういったルールが 適用されているからなのでしょうか? もしそれがコンパイラが特別扱いをしているから、 という理由以外であれば、テンプレート関数fooの場合にもそれを適用できるのでは、 と考えているのですが。) iseven2にnot1を適用するには、前もって行うべき手続きがあるのですね。 std::unary_function<int,bool>について調べてみようと思います。 ありがとうございました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.