1
我在Stack Overflow和其他论坛上找到了用于从字符串中删除字符的解决方案。说我想从一个字符串中删除空格我会做:使用擦除和删除从字符串中删除字符
currentLine.erase(std::remove(currentLine.begin(), currentLine.end(), ' '), currentLine.end());
其中currentLine是字符串的名称。
这样的事情出现为人们的工作,但如果我用它我得到:
/local/yrq12edu/Desktop/Bens_C++_Utilities/simuPOPtoFASTA/simuPOP2FASTA.cpp|54|error: cannot convert 'std::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >}' to 'const char*' for argument '1' to 'int remove(const char*)'|
由于编译错误。 我认为这是由std :: remove函数返回的迭代器不能使用擦除方法,但显然它应该工作。我该如何解决?
请问您可以显示currentLine的声明。 – Borgleader
发布一个简短的测试用例。 – juanchopanza