微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将宏中的参数字符串化

如何解决将宏中的参数字符串化

#define MY_ASSERT_TEST(para,parB,parC) do {                                           \
    for (int i = 0; i < TestStruct::parB::TestData_parC_TestOptions_Len; i += 1)        \
    {                                                                                   \
        if (para == TestStruct::parB::TestData_parC_TestOptions_i)                      \
            return;                                                                     \
    }                                                                                   \
    MY_LOG("MY_ASSERT_TEST Warning: %s",#para);                                        \
} while(0)

它正确替换了 parB,但没有替换 parCi

我尝试过类似 TestStruct::parB::TestData_#parC_TestOptions_#i方法

TestStruct::parB::TestData_(#parC)_TestOptions_(#i)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。