map
aであるa のインデックスと、std::wstring
また a であるその値を、引数としてstd::wstring
3 を取るメンバー関数に渡す必要があります。以下のコード例に示すように、メソッドでstd::wstrings
を使用しようとしています..boost::bind
write
class Result
コードをより明確に再投稿していますが、コンパイル エラーが発生しています。
typedef std::map<std::wstring,std::wstring> map_type;
class Print
{
public:
Print(){};
virtual ~Print(){};
void setValue(const std::wstring & str1, const std::wstring & str2,
const std::wstring & str3 = L"")
{
wprintf(L"String1[%ls] String2[%ls] String3[%ls]\n",str1.c_str(), str2.c_str(), str3.c_str());
}
};
class Result : public Print
{
public:
Result(){};
virtual ~Result(){};
void write(const std::wstring val1, const std::wstring val2, const std::wstring val3)
{
std::map<std::wstring,std::wstring> my_map_test;
my_map_test[L"Idx1"]=L"Value1";
my_map_test[L"Idx2"]=L"Value2";
for_each(my_map_test.begin(), my_map_test.end(),
boost::bind(&Result::setValue,
boost::bind(&map_type::value_type::first,_1),
boost::bind(&map_type::value_type::second,_1), L"TEST"));
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Result result;
result.write();
return 0;
}
ありがとう。