c++ - 有没有办法检查变量是否在编译时声明?

标签 c++ c

我的意思是这样的情况(这当然是错误的代码/想法/因为我知道它不会那样工作):

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/

相关文章:

c++ - 使用 C 第二次读取相同文件时的极端性能差异

c++ - 使用一个由多个服务器指向的客户端是糟糕的设计吗?

c++ - 随机生成 2d/3d 数组

c++ - 使用 MsBuild 构建 Visual Studio Code

C regexec 返回误报

c - opengl中物体的旋转没有发生

c++ - 检查 Rapidxml 中可变数量的兄弟节点和不同的兄弟节点

c++ - 在 bindValue(...) 函数中使用 select 语句 - Qt & SQLite

c - 为什么此 C 代码在 strcpy 中出现段错误?

java - 使用 SWIG 的 C 函数的 JNI 包装器 - 类型映射应该是什么?