1

如果我们在 c++ 中使用枚举名称作为函数会发生什么?为了详细说明,让我把下面的代码片段

enum check{
    HELLO,
    HI,
    HOWDY,
    SALAM,
    SALOM,
    STOP
};

void main() {
    int p  = check();
    cout<<p;
}

我可以假设它可能会在类或结构的情况下调用默认构造函数,但是枚举会发生什么?

如果它是某种类似构造函数的方法,它会返回 0 吗?因为'p'设置为0。

4

1 回答 1

2

它使用值初始化(就像 aclass或 a structcheck复制初始化int然后返回0

需要明确的是,您没有将它用作函数,这是值初始化的语法。

就像

int p = int();

没有将类型int用作函数。

于 2012-09-19T11:23:51.337 回答