我想声明一个具有如下基本数学运算的枚举:
enum Operations
{
div,
mul,
add,
sub
};
但编译器会提示此声明,因为 div 是 C++ 中的保留关键字。我怎样才能覆盖它?或者有什么解决办法吗?
这是错误信息:
error: ‘div’ redeclared as different kind of symbol /usr/include/stdlib.h:158: error: previous declaration of ‘div_t div(int, int)’
最佳答案
div
不是关键字,而是标准库函数,在 stdlib.h
中声明,也可能在 cstdlib
中声明。
最简单的解决方案是使用不同的标识符。否则,您可以使用范围枚举:
enum class Operations
{
div,
mul,
add,
sub
};
这会将枚举的值放入 Operations
范围(Operations::div
、Operations::mul
等)
关于c++ - 无法在枚举中声明 "div",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221148/