Mat*_*sco 6 c++ warnings typedef in-class-initialization c++11
我需要一些帮助来了解发生此错误的位置:
警告:非静态数据成员的类内初始化是C++ 11扩展[-Wc ++ 11-extensions]
这是它来自的代码部分:
typedef struct Hand {
bool straight = false;
bool flush = false;
bool four = false;
bool three = false;
int pairs = 0;
} Hand;
Run Code Online (Sandbox Code Playgroud)
小智 12
这不是错误,这是一个警告.它告诉您,您只能初始化以C++ 11标准开头的结构/类的非静态成员(因为它在2011年发布,因此被称为).在此之前,你没有被C++ 98正式允许(已经发布,你已经猜到了,1998年).简而言之,你所做的事情在2011年才成为合法的官方C++.你的编译器默认似乎是1998年的标准.
尝试使用-std=c++11命令行标志进行编译(假设您正在使用GCC或clang),警告应该消失.如果你正在使用不同的编译器,那么它也应该有一个标志(如果它最近足以实现C++ 11).
| 归档时间: |
|
| 查看次数: |
13323 次 |
| 最近记录: |