当前位置:  开发笔记 > 编程语言 > 正文

需要帮助将C宏重写为函数

如何解决《需要帮助将C宏重写为函数》经验,为你挑选了1个好方法。

我需要一些帮助以更安全的方式重写以下行并将其重写为函数,但是这个代码在函数内部定义的事实让我很难想到一个聪明的方法,因为它显然是将涉及宣布几个论点.

#define CHECK(id) if(table->cells[id]) isgood[table->cells[id]-1] = 0;

在哪里tablestructisgoodint.



1> Reed Copsey..:

直接转换(如果table-> cells [id]为int):

void check(int id, int*isgood) { if (id) isgood[id-1] = 0; }

致电:

check(table->cells[id], isgood);

但是,我会重命名/重做这一点.我特别改名.也没有错误检查 - 即,如果table-> cells [id] == 0,你将尝试设置isgood [-1],这将是不好的.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有