【发布时间】:2019-09-22 04:25:25
【问题描述】:
我有以下用 C 编写的代码
typedef struct{
unsigned short R,G,B;
}Color;
我想创建一个具有 RGB 颜色范围的数据类型,但我也想让用户可以输入 1.5 或 55.5 等。所以我想出了这个,但这允许从 0-255 的数字而不给它浮点/双精度类型数字的精度。有没有一种方法可以使这成为可能,例如,用户可以输入 0.5,但如果它将 Color 的一个实例初始化为小于 0 或大于 255 的任何值,则编译器会出错?
【问题讨论】:
-
您希望每种颜色的分辨率是多少?
-
你的问题有点混乱,也许是困惑。一旦用户使用了一个C程序,编译器就与它无关了,它已经完成了它的工作并休息了。要实现您似乎想要的行为,您必须编写代码。