char不能转化作string

char不能转化为string?
[code=C/C++][/code]//建立储存作者与相应作品信息的multimap容器
//print the information in alphabetical order
# include<iostream>
#include<string>
#include<map>
using namespace std;
typedef multimap<string,string> Au_work;
typedef Au_work::iterator Ait;
int main()
{
Au_work work_list;
string sa,sw;
while(1)
{
cout<<"enter author and end all with @"<<endl;
getline(cin,sa);
if(sa=="@")
break;
cout<<"enter the books' name each end by enter,ctrl+z to end all"<<endl;
while(getline(cin,sw))
work_list.insert(make_pair(sa,sw));
cin.clear();
}

//print elemt


for(char cnt='A';cnt !='Z'+1;cnt++)
{
cout<<"AUTHOR NAMES BEGIN WITH "<<"\'"<<cnt<<'\''<<endl;
Ait beg = work_list.lower_bound(cnt),end = work_list.upper_bound((cnt+1));///////出错处
if(beg==end)
cout<<"no record"<<endl;
else
for(;beg!=end;beg++)
cout<<beg->first<<" "<<beg->second<<" "<<endl;
}
return 0;
}


是不是因为char 不能隐式转化为string而出错吧?
只要是char就不能转化成string?




如下:
d:\humy\10.28author works\10.28author works\main.cpp(44): error C2664: “std::_Tree_iterator<_Mytree> std::_Tree<_Traits>::lower_bound(const std::basic_string<_Elem,std::char_traits<char>,_Ax> &)”: 不能将参数 1 从“char”转换为“const std::basic_string<_Elem,_Traits,_Ax> &”
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>,true>>,
1> _Traits=std::_Tmap_traits<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>,true>,
1> _Elem=char,
1> _Ax=std::allocator<char>
1> ]
1> and
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> 原因如下: 无法从“char”转换为“const std::basic_string<_Elem,_Traits,_Ax>”
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> 无构造函数可以接受源类型,或构造函数重载决策不明确
1>d:\humy\10.28author works\10.28author works\main.cpp(44): error C2664: “std::_Tree_iterator<_Mytree> std::_Tree<_Traits>::upper_bound(const std::basic_string<_Elem,std::char_traits<char>,_Ax> &)”: 不能将参数 1 从“int”转换为“const std::basic_string<_Elem,_Traits,_Ax> &”
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>,true>>,
1> _Traits=std::_Tmap_traits<std::string,std::string,std::less<std::string>,std::allocator<std::pair<const std::string,std::string>>,true>,
1> _Elem=char,
1> _Ax=std::allocator<char>
1> ]
1> and
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> 原因如下: 无法从“int”转换为“const std::basic_string<_Elem,_Traits,_Ax>”
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,