myclass.cpp: In member function ‘std::string >palindrome::removeNonLetters(std::string)’:
myclass.cpp:22:116: error: no matching function for call to ‘remove_if(std::basic_string::iterator, std::basic_string::iterator, palindrome::removeNonLetters(std::string)::__lambda0)’ characters.erase(remove_if(characters.begin(),characters.end(),[](char characters){return!isalpha(characters);}),characters.end());
myclass.cpp:22:116: error: template argument for ‘template _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘palindrome::removeNonLetters(std::string)::__lambda0’ characters.erase(remove_if(characters.begin(),characters.end(),[](char characters){return!isalpha(characters);}),characters.end());
#include "myclass.h"
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <locale>
using namespace std;
palindrome::palindrome(string c) {
characters = c;
}
//remove all non-alphabetical characters
string palindrome::removeNonLetters(string a){
characters = a;
characters.erase(remove_if(characters.begin(),characters.end(),[](char characters){return!isalpha(characters);}),characters.end()); //remove non letters
return characters;
}
//remove all non-alphabetical characters
string palindrome::lowerCase() {
transform( characters.begin(), characters.end(), characters.begin(),::tolower );
return characters;
}
What might be wrong? please help.
Aucun commentaire:
Enregistrer un commentaire