假设我想确保始终使用不同的参数值(编译时)调用该函数。
理想的情况是这样可以编译:
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 语言中是否可以做类似编译时的事情?