如何在C ++中的整个程序中声明一组我想要的颜色?

时间:2017-10-23 13:31:48

标签: c++

我有一个LEDControl类,它使用一种方法设置LED的颜色。

许多类使用此LEDControl类来传递一些颜色以分配给LED。因此,我想在某处定义最常用的颜色。

我以为我在我的LEDControlColor中创建了一个结构,因为我真的只需要直接访问成员而不需要其他任何内容:

struct Color{
    bool r;
    bool g;
    bool b;
};

然后我在.cpp

中添加了#define
#define RED Color{true, false, false};

但这并没有奏效;它没有在任何其他类的范围内声明。

如何在程序中的某个位置存储一组颜色,以便使用LEDControl的每个班级都可以使用关键字或变量名称(如RED和GREEN)?

2 个答案:

答案 0 :(得分:4)

不是使用宏,而是提供inline constexpr的<{1}}个实例:

struct

您可以在头文件中提供这些内容,以便可以从包含它的任何文件访问它们。

答案 1 :(得分:0)

将定义放在标题中。请避免#define
它可能看起来像:

static constexpr Color RED{true, false, false};