【发布时间】:2017-10-23 13:31:48
【问题描述】:
我有一个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?
【问题讨论】:
-
使用类枚举。
-
根据经验,#defines 是邪恶的。如果您真的想做某事,请创建
const Color red{},但这也不是您真正想要的... -
除非包含定义
Color的标头,否则不能使用它。没有可移植的方式使标识符“全局可用”。 -
想知道为什么反对的选民会这样做......他们似乎没有评论为什么。
标签: c++