我的意思是这样的情况(这当然是错误的代码/想法/因为我知道它不会那样工作):
int main() {
int my_int = 42;
#ifdef my_int
my_int = 43;
#else
int my_int = 43;
}
我知道 c/c++ 程序看不到变量的名称,也不知道它是否已设置,但编译器可以做到,我想问一下,有没有什么方法可以将编译器引导到给定的操作,例如省略或当遇到同一个 block 中有重复声明的情况时,插入一段代码。
最佳答案
没有。当您有重复声明时,唯一可能发生的事情是编译器错误。它总是格式错误。因为预处理器不知道变量,所以你也不能使用它。
关于c++ - 有没有办法检查变量是否在编译时声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21626815/