错误:为参数1指定的默认参数

poc*_*coa 3 c++ eclipse default mingw default-value

这是我的班级定义:

class MyClass {
public:
   void test(int val = 0);
}

void MyClass::test(int val = 0) {
   //
}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译此代码时,我收到错误:"为参数1指定的默认参数"

这只是一个简单的功能,我不知道出了什么问题.我正在使用Eclipse + MinGW.

AnT*_*AnT 8

在形式上,您可以在任何位置指定默认参数,但每个参数只能执行一次.即使值相同,也必须在函数声明或定义中进行特定,但不能同时在两者中进行特定.

当然,如果声明在头文件中(并且定义在实现文件中),常识说必须在头文件中指定默认参数,以便所有翻译单元都可以"看到"它.