菜鸟疑问希望大神解答
何时为码农 2013-10-17 04:19:39 // vector_stl3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <set>
#include <iterator>
#include <cctype>
using namespace std;
void show_strin(const string &str);
char toLower(char ch){ return tolower(ch);}
string& ToLower(string&str);
int main( )
{
vector<string> letters;
string plater;
while(cin>>plater&&plater!="quit")
letters.push_back(plater);
set<string> words;
transform(plater.begin(),plater.end(),insert_iterator<set<string> >(words,words.begin()),ToLower);
cout<<endl;
for_each(words.begin(),words.end(),show_strin);
cout<<endl;
system("pause");
return 0;
}
string &ToLower(string &st)
{
transform(st.begin(),st.end(),st.begin(),toLower);
return st;
}
void show_strin(const string &st)
{
cout<<st<<" ";
}
错误提示是:
1>d:\vs2010\vc\include\algorithm(1043): error C2664: “std::string &(std::string &)”: 不能将参数 1 从“char”转换为“std::string &”
1> d:\vs2010\vc\include\algorithm(1069): 参见对正在编译的函数 模板 实例化“_OutIt std::_Transform<_InIt,_OutIt,std::string&(__cdecl *)(std::string &)>(_InIt,_InIt,_OutIt,_Fn1)”的引用
到底该怎么改菜鸟求大神帮忙谢谢了。