我在课堂上创建了一个函数。我将所有声明放在头文件中,将所有定义放在 .cpp 中。
在我的标题中:
class FileReader{
public:
FileReader(const char*); //Constructor
std::string trim(std::string string_to_trim, const char trim_char = '=');
};
在我的.cpp中:
std::string FileReader::trim(std::string string_to_trim, const char trim_char = '='){
std::string _return;
for(unsigned int i = 0;i < string_to_trim.length();i++){
if(string_to_trim[i] == trim_char)
continue;
else
_return += string_to_trim[i];
}
return _return;
}
每当我尝试编译和运行它时,都会出现两个错误。
错误:为 'std::string FileReader::trim(std::string, char)' [-fpermissive] 的参数 2 给出了默认参数
错误:在 'std::string FileReader::trim(std::string, char)' [-fpermissive] 中的先前规范之后
我究竟做错了什么?我只希望我的函数有这个默认参数。