3

有没有办法安全地检查当前范围内是否存在某个命名变量(我们称之为“foo”)?我想要一个宏,比如说,如果它存在就使用“foo”,否则会做其他事情。我可以在这里使用任何运行时技巧吗?

(实际情况是试图解决这个问题,但我意识到一个可能是这个问题的一个特例,所以一个单独的问题似乎也很有趣。)

4

1 回答 1

2

很不幸的是,不行。编译器负责解析变量名并为其分配作用域,预处理器在编译器之前运行。因此它无法访问该信息。

于 2012-11-26T07:04:09.130 回答