0

我正在开发一个使用一些复杂的声明性宏的项目。我遇到了一个问题,我在下面的简单代码片段中对此进行了简化。我不明白为什么我不能形成一组参数来传递给带有宏的函数。

我错过了什么?谢谢大家!

macro_rules! replace {
    () => {a, b};
}

fn add_num (a: u32, b: u32) -> u32 {
    a+b
}

fn main() {
    let a : u32 = 2;
    let b : u32 = 4;

    println!("{}", add_num(replace!()));
}
4

1 回答 1

1

这个答案正是我想要的:

在 Rust 宏中调用具有不同数量参数的函数

我的代码片段过于简化,实际上导致我遇到了另一个问题。我最初遇到的问题的解决方法与链接中的答案类似:通过构建参数列表并继续传递函数名称直到最后一次匹配,这是使用最终参数列表调用函数的地方。

谢谢你们!

于 2022-02-20T00:44:45.020 回答