我正在尝试为颜色创建一个类。类似的东西:
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是无效类型
我做错了什么?
答案 0 :(得分:10)
红色是会员,应该是:
const Color Color::Red = Color(255, 0, 0, 255);