そのような文字列を属性として持つクラスのリストから、文字列のセットをフルフィルしたいと思います (公開ゲッターが利用可能)。
ラムダ式と std::for_each を使用して実行したいと思います。
私は次のようなことを考えていました:
class Foo
{
const std::string& getMe() const;
}
...
std::list<Foo> foos; // Let's image the list is not empty
std::set<std::string> strings; // The set to be filled
using namespace boost::lambda;
std::for_each(foos.begin(), foos.end(), bind(
std::set<std::string>::insert, &strings, _1::getMe()));
しかし、コンパイル時に次のエラーが発生します。
_1 はクラスまたは名前空間ではありません
ありがとう。