gpt4 book ai didi

在导致错误时使用 do 定义的 C++ 宏

转载 作者:行者123 更新时间:2023-11-28 06:17:34 25 4
gpt4 key购买 nike

我有两段代码需要运行。 (不,我不允许更改其中任何一个)。

第一段定义了一个宏

#define MACRO do { /* stuff in multiple lines and do not return a value */ } while (0)

第二部分在 if 语句中使用了另一个宏

if (ANOTHER_MACRO) { /* do some stuff */ }

我需要让 ANOTHER_MACRO 使用 MACRO 并且我可以定义 ANOTHER_MACRO

我认为 inline 函数是正确的方法,但无论是使用宏还是使用 inline 函数我都无法让它工作。有什么建议吗?

最佳答案

只需插入一个函数来在一侧调用 MACRO 并在另一侧返回一个值。

#define ANOTHER_MACRO theFunc()

bool theFunc() {
MACRO;
return /* something */;
}

关于在导致错误时使用 do 定义的 C++ 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29944867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com