我有一个目前在Windows,Linux和iOS上运行的多平台项目,但是我偶然发现了Objective-C的不良问题。
不幸exp的是,我为我的一种类型选择了名称(表达式,考虑到我的代码中出现的次数,这是相当合理的),但是Objective-C math.h默认情况下以某种方式包含了标题,从而产生了名称冲突。
我试图注释掉.pch(默认在每个源文件之前包含的前缀文件)中的所有内容,并且exp仍标记为重定义。
有人知道如何在Objective-C项目的源文件中不包含math.h吗?
在x用于填充时如何避免列出所有字段input?
struct StructX {
a: u32,
b: u32,
}
trait TraitY {
fn foo(info: &mut StructX) -> bool;
}
impl TraitY for SomeZ {
fn foo(input: &mut StructX) -> bool {
let mut x = StructX { /*....*/ };
// do something with x, then finally:
input.a = x.a;
input.b = x.b;
}
}
Run Code Online (Sandbox Code Playgroud)
在 C++ 中它只是input = x,但这在 Rust 中不起作用。请注意,这是一个“接口”,因此我无法将 的类型更改为其他类型input。