如果我们将枚举名称用作c ++中的函数会发生什么?详细说明,让我把以下代码片段
enum check{
HELLO,
HI,
HOWDY,
SALAM,
SALOM,
STOP
};
void main() {
int p = check();
cout<<p;
}
我可以假设它可能在类或结构的情况下调用默认构造函数,但是枚举会发生什么?
如果它是某种类似construtor的方法,它会返回0吗?因为'p'设置为0。
答案 0 :(得分:2)
它使用值初始化(就像class
或struct
)check
来复制初始化 int
,然后返回0
。
要明确的是,你没有将它用作函数,这是值初始化的语法。
就像
一样int p = int();
未使用int
类型作为函数。