8
私はstd ::関数でラップして渡したいオーバーロードされた関数を持っています。 GCC4.6は "マッチング関数"を見つけません。 私はここでいくつかの質問を見つけたが、回答は私が好きなほど明確ではない。誰かが、次のコードが正しい過負荷を差し引くことができず、(上品に)回避する方法を教えてもらえますか?std :: functionを使ってオーバーラップ関数をラップします。
int test(const std::string&) {
return 0;
}
int test(const std::string*) {
return 0;
}
int main() {
std::function<int(const std::string&)> func = test;
return func();
}
古いスタイルのキャストの代わりに 'static_cast'を使用してください。 – Anonymous
@Anonymous:はい。しかし私はそれを短くしたかったのです。とにかく、私はそれをC++のように見せるために編集しました - ish! – Nawaz
どのように皮肉なことですか?関数ポインタから離れるために導入されたstd ::関数を得るために関数ポインタを使用する必要があります:) thx – abergmeier