2015112119   1년 전

이 코드는 문자열을 전부 소문자로 만들고 나서 계산하는 코드인데 

transform(str.begin(), str.end(), str.begin(), tolower); 여기서 컴파일 에러가 뜨네요

자료를 찾아보니 이렇게 하는게 틀린것 같지 않은데 컴파일 에러가 뜨는 이유가 다른 컴파일러가 지원을 안해줘서 그런건가요?

그렇다면 다른 방법은 없을까요?

참고로 문제의 그 코드를 for (int i = 0; i < (int)str.length(); i++) tolower(str[i]);이렇게 바꾸니 또 값이 출력이 되지 않네요...고수님들 도와주세요!

jung2381187   1년 전

tolower를 그냥 쓰면 안 되고 ::tolower라고 써야 합니다.

2015112119   1년 전

헉 정말이네요 덕분에 해결했습니다! 근데 왜 ::를 써야 하나요? std::cout 같이 어디서 나왔다는 정보도 없는데 쓰는 이유가 무엇이고 없으면 왜 동작하지 않는지 궁금합니다!

댓글을 작성하려면 로그인해야 합니다.