문자열을 소문자로 변환하는 STL 함수 for_each를 사용하려고하고 있는데 무엇이 잘못되었는지 잘 모릅니다.tolower()를 사용하여 for_each 사용
clean = for_each(temp.begin(), temp.end(), low);
온도는 문자열을 보유하고있는 문자열입니다 여기에 문제의의 for_each 라인입니다.
void low(char& x)
{
x = tolower(x);
}
내가 점점 계속 컴파일러 오류와 같은있다 : 그리고 여기에 내가 저를 위해 쓴 기능이다 내가 잘못 뭐하는 거지
error: invalid conversion from void (*)(char&) to char [-fpermissive]
?
편집 :
void clean_entry (const string& orig, string& clean)
{
string temp;
int beginit, endit;
beginit = find_if(orig.begin(), orig.end(), alnum) - orig.begin();
endit = find_if(orig.begin()+beginit, orig.end(), notalnum) - orig.begin();
temp = orig.substr(beginit, endit - beginit);
clean = for_each(temp.begin(), temp.end(), low);
}
입니다. 작은 완전한 예제를 제공해 줄 수 있습니까? –