目前我有以下内容
const WIDTH : u16 = 1920;
const HEIGHT: u16 = 1080;
const PIXELS : usize = 1920 * 1080;
Run Code Online (Sandbox Code Playgroud)
拥有类似的东西会更好
const WIDTH : u16 = 1920;
const HEIGHT: u16 = 1080;
const PIXELS : usize = usize::from(WIDTH) * usize::from(HEIGHT);
Run Code Online (Sandbox Code Playgroud)
但这不会编译。我认为这是因为const编译时变量不能依赖于usize::from. 还有其他选择吗?
usize::from不是常数函数。如果是的话,你的例子就能编译得很好。相反,您可以简单地使用变量强制转换,这都是usize::from在内部完成的:
const WIDTH : u16 = 1920;
const HEIGHT: u16 = 1080;
const PIXELS: usize = (WIDTH as usize) * (HEIGHT as usize);
Run Code Online (Sandbox Code Playgroud)