我有一个LEDControl
类,它使用一种方法设置LED的颜色。
许多类使用此LEDControl
类来传递一些颜色以分配给LED。因此,我想在某处定义最常用的颜色。
我以为我在我的LEDControl
类Color
中创建了一个结构,因为我真的只需要直接访问成员而不需要其他任何内容:
struct Color{
bool r;
bool g;
bool b;
};
然后我在.cpp
中添加了#define#define RED Color{true, false, false};
但这并没有奏效;它没有在任何其他类的范围内声明。
如何在程序中的某个位置存储一组颜色,以便使用LEDControl
的每个班级都可以使用关键字或变量名称(如RED和GREEN)?
答案 0 :(得分:4)
不是使用宏,而是提供inline constexpr
的<{1}}个实例:
struct
您可以在头文件中提供这些内容,以便可以从包含它的任何文件访问它们。
答案 1 :(得分:0)
将定义放在标题中。请避免#define
它可能看起来像:
static constexpr Color RED{true, false, false};