关于类构造函数初始化-VS201可以这么写,但VC6却失败.为什么,该怎么处理

关于类构造函数初始化-VS201可以这么写,但VC6却失败.为什么
为什么以下代码在 VS2010 中编译通过.类可以被正确初始化.
但在 VC6 下就无法编译通过,提示缺少正确的构造函数?

#include <iostream>

using std::cout;
using std::endl;

class CBox
{
public:
CBox(double,double,double);
private:
double m_Length;
double m_Width;
double m_Height;
};

CBox::CBox(double length=1,double width=1,double height=1):m_Length(length),m_Width(width),m_Height(height){}

int main()
{
CBox Box;
return 0;
};

------解决方案--------------------
.h 文件中的类声明里:
public:
 CBox(double length=1,double width=1,double height=1);

.cpp 文件中的类构造函数:
CBox::CBox(double length,double width,double height):m_Length(length),m_Width(width),m_Height(height){}

或者干脆在类声明里写:
public:
 CBox(double length=1,double width=1,double height=1)
:m_Length(length),
m_Width(width),
m_Height(height){}