Статический constexpr внутри своего классаC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Статический constexpr внутри своего класса

Сообщение Anonymous »

Я пытаюсь создать класс Color и несколько констант, чтобы можно было использовать их, например Color::Red, в других частях моего кода.

Код: Выделить всё

#ifndef COLOR_H
#define COLOR_H

#include 

class Color
{
uint8_t r;
uint8_t g;
uint8_t b;
uint8_t a;

public:
Color(uint8_t r, uint8_t g, uint8_t b, uint8_t a);

static constexpr Color Red = Color(255, 0, 0, 255);
};

#endif // COLOR_H
Этот код выдает ошибку «Цвет типа неполный».
Поигравшись и проведя небольшое исследование, лучшее, что я нашел, — это переместить красный цвет из класса, но тогда я теряю элегантность квалификатора Color::.
Есть ли лучшее решение?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -own-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»