Я пытаюсь создать класс для цветов. Что-то вроде:
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 является недопустимым типом
Что я делаю не так?