C++ 默认参数错误

标签 c++ default-arguments

知道为什么这个错误会在编译时出现吗?

ComplexNumber.cpp:21: error: default argument given for parameter 1 of ‘void ComplexNumber::print(std::ostream&) const’
ComplexNumber.h:17: error: after previous specification in ‘void ComplexNumber::print(std::ostream&) const’

这是我在那些特定区域的代码:

复数.cpp

21    void ComplexNumber::print(ostream & out = cout) const {

复数.h

17    void print(ostream & out = cout) const;

最佳答案

您应该只在函数声明中指定默认参数,即在函数头中。您的实现应如下所示:

void ComplexNumber::print(ostream & out) const { ..... }

关于C++ 默认参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10323587/

相关文章:

c++ - 是否可以使作为默认参数的宏在调用站点展开?

c++ - 默认函数参数和单一定义规则

c++ - protected 构造函数使基类不可实例化

c++ - 在 C++ 中处理非 Ascii 字符

c++ - 无法为编译 SFML 项目创建 cmake 规则

c++ - 为什么参数在类构造函数中没有改变?

c++ - 继承带有默认参数的构造函数?

c++ - 基于其他参数的默认值

C++:如何检查所有单参数构造函数是否都是显式的

c++ - 有没有可以和 boost::uniform_int 媲美的 Go 函数?