C++ 如何在类本身(即颜色类)中创建类的(静态常量?)实例?

C++ 如何在类本身(即颜色类)中创建类的(静态常量?)实例?,c++,compiler-errors,constants,static-members,C++,Compiler Errors,Constants,Static Members,我正在尝试创建一个颜色类。比如: class Color { public: float r, g, b, a; Color(float r_, float g_, float b_, float a_); ... } 为了方便起见,我希望将该类的实例作为该类的一部分,这样我就不需要为常见颜色指定rgba值: image.setPixel(100, 100, Color::Red); 但是,我不知道正确的语法是什么。我已经在Google上搜索了一段时间,但我还没有找到这个方法的术语:

我正在尝试创建一个颜色类。比如:

class Color
{
public:
  float r, g, b, a;
  Color(float r_, float g_, float b_, float a_);
...
}
为了方便起见,我希望将该类的实例作为该类的一部分,这样我就不需要为常见颜色指定rgba值:

image.setPixel(100, 100, Color::Red);
但是,我不知道正确的语法是什么。我已经在Google上搜索了一段时间,但我还没有找到这个方法的术语:(。我以前在其他库中见过它,所以我认为这是可能的。我认为它必须声明为静态常量,但我不确定这一点:

class Color
{
public:
  static const Color Red;
...
}

const Color::Color Red = Color(255, 0, 0, 255);
但我有一个

说Color::Color是无效类型时出错


我做错了什么?

红色是成员,应该是:

const Color Color::Red = Color(255, 0, 0, 255);

谢谢!我简直不敢相信我在这么简单的错误上花了这么多时间。D:。我要去吃一块饼干,让自己感觉好一点。此外,这一行应该在.cpp文件中,而不是在标题中。我不喜欢等号:
const Color Color::Red(255,0,0,255);