小编Emp*_*pus的帖子

确保接受枚举的 C 函数始终使用不同的参数调用(编译时)

假设我想确保始终使用不同的参数值(编译时)调用该函数。

理想的情况是这样可以编译:

enum en {
   en_A,
   en_B
};
...
foo(en_A);
Run Code Online (Sandbox Code Playgroud)

但这失败了:

enum en {
   en_A,
   en_B
};
...
foo(en_A);
...
foo(en_A);
Run Code Online (Sandbox Code Playgroud)

因此,我们应该只能调用某个函数 foo(en_A) 一次(对于 foo(en_B) 也是如此)。

不太可取但也可以接受的方法是定义 foo_en_A、foo_en_B 并确保它们每个仅被调用一次。

在 C 语言中是否可以做类似编译时的事情?

c preprocessor compile-time

1
推荐指数
1
解决办法
104
查看次数

标签 统计

c ×1

compile-time ×1

preprocessor ×1