我正在阅读here的boost::circular_buffer<bool> stuff;
stuff.push_back(false);
stuff.push_back(true);
cout << stuff.size() << endl; // prints 0
页面:
size()
使用:
Scoped enumerations
如果我现在检查GCC中的C ++ 11支持,看起来好像从GCC 4.8开始支持所有内容。
我读错了哪个页面? $ cat e.cxx
#include <cstdint>
enum class Handle : uint32_t { Invalid = 0 };
int main()
{
Handle h { 42 }; // OK
return 0;
}
$ g++ -std=c++11 e.cxx
e.cxx: In function ‘int main()’:
e.cxx:5:17: error: cannot convert ‘int’ to ‘Handle’ in initialization
Handle h { 42 }; // OK
^
的示例不是100%正确,或者GCC中对C ++ 11的支持仍然不完整?
答案 0 :(得分:3)
enum struct
(或import serial
import serial.tools
from serial.tools import list_ports
#I also tried:
#import serial.tools.list_ports
#from serial import tools
#import serial.tools.list_ports
#from serial import tools
)会创建强类型。它不能使用底层整数类型进行初始化,需要明确地进行初始化,至少在C ++ 11和C ++ 14中是这样。
您展示的参考屏幕截图来自即将推出的C ++ 17标准,该标准可以放宽要求,并允许进行此类初始化。
答案 1 :(得分:1)