gpt4 book ai didi

c++ - 从 bool 值构造具有底层 "bool"类型的枚举?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:24 30 4
gpt4 key购买 nike

如果我这样定义一个枚举:

enum Foo : bool { Left = false, Right = true };

然后尝试像这样从 bool 值构造一个:

int main (int ac, const char **av) {
Foo foo ( ac > 1 );
cout << boolalpha << bool(foo) << endl;
return 0;
}

它失败了,但可以像这样使用额外的构造函数:

Foo foo ( Foo( ac > 1 ) );

这是为什么?我以为 Foo foo (...) 一个显式构造函数调用?

最佳答案

噗噗 (ac > 1);这是 C++ most vexing parse 的情况.这是一个什么都不做的函数声明。

关于c++ - 从 bool 值构造具有底层 "bool"类型的枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38096201/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com