我已经为我的类实现了一个写函数,但是我收到了错误:
class Fa{
private:
string Q_;
string F_;
public:
void write(ostream& out = cout) const{
out<<Q_<<endl;
out<<F_<<endl;
}
};
错误:为`void Fa :: write(std :: ostream&amp;)const'
的参数1给出的默认参数
有人可以告诉我这个错误意味着什么,我怎么能避免呢?
答案 0 :(得分:0)
您缺少包含和命名空间:
#include <iostream>
#include <string>
class Fa{
private:
std::string Q_;
std::string F_;
public:
void write(std::ostream& out = std::cout) const{
out << Q_<< std::endl;
out << F_<< std::endl;
}
};
如果您有头文件和cpp文件,请在头文件中指定默认参数:
/* ... */
public:
void write(std::ostream& out = std::cout) const;
/* ... */
并且在cpp文件中不要:
void Fa::write(std::ostream& out) const {
/* ... */
}