是否可以在C++ 11(不晚于此)中编写一个函数来验证在编译时传递给它的字符的唯一性
verify('a');
verify('b');
verify('c');
verify('a'); //should cause compilation error
[MK编辑以回答一些问题]:
最佳答案
并非完全符合您的要求,但是鉴于您的约束(可以接受相同的范围和宏解决方案),您可以尝试执行以下操作:
#define verify(x) class _tmp_##x {};
例子:
int main()
{
verify(a);
verify(b);
verify(a);
return 0;
}
由于重新定义了本地类
_tmp_a
,将导致编译失败。关于c++ - 在编译时检查字符的唯一性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48531538/