我有一个用C表示的 struct :
struct Scard_IO_Request {
proto: u32,
pciLength: u32
}
当我想问sizeof
(如C sizeof()
)时,使用:
mem::sizeof<Scard_IO_Request>();
我发现编译错误:
"error: `sizeof` is a reserved keyword"
为什么我不能像在C中那样使用这个sizeof
函数?还有别的 Select 吗?
我有一个用C表示的 struct :
struct Scard_IO_Request {
proto: u32,
pciLength: u32
}
当我想问sizeof
(如C sizeof()
)时,使用:
mem::sizeof<Scard_IO_Request>();
我发现编译错误:
"error: `sizeof` is a reserved keyword"
为什么我不能像在C中那样使用这个sizeof
函数?还有别的 Select 吗?
原因有二:
no such function被称为"sizeof
",因此编译器将很难调用它.
这不是调用泛型函数的方式.
如果你查看文档中的mem::size_of
(即使你有search for "sizeof"个,你也能找到),你会发现它包含一个runnable example,告诉你如何调用它.对于后代来说,这个例子是:
fn main() {
use std::mem;
assert_eq!(4, mem::size_of::<i32>());
}
在您的特定情况下,您可以使用
mem::size_of::<Scard_IO_Request>()