如何在文本编辑器中处理 [-Wc++11-extensions]
How to deal with [-Wc++11-extensions] in the text editor
当我尝试将 myCurrentTry 初始化为 1 并将 myMaxTry 初始化为 5 时,我遇到了警告,错误是:
非静态数据成员的类内初始化是 C++11 扩展 [-WC++11-扩展]
实现此目的的代码是:
class starUFO{
public:
void Reset();
int getMaxTries();
int getCurrentTry();
bool isGameWon();
bool checkGuessValidity(string);
private:
int myCurrentTry = 1;
int myMaxTries = 5;
};
我听到人们说"尝试使用 -std=c++11 编译",这确实消除了我的命令行中的警告,但我想修复 VS Code 配置,所以它不会将其视为警告,我有最新的 VS Code,但似乎有一个更深层次的问题。
编写一个构造函数并在那里初始化您的成员变量:
class starUFO
{
private:
int myCurrentTry;
int myMaxTries;
public:
starUFO()
: myCurrentTry(1),
myMaxTries(5)
{
}
...
};
要告诉 VSCode 您使用的是哪个C++标准,请打开命令面板 (Ctrl+Shift+P(,选择"C/C++:编辑配置 (UI(",向下滚动并更改"C++标准"下拉列表。 在这种情况下,请选择"c++11"或更高版本。
这假设您使用的是"智能感知"引擎,而不是较旧的"标记解析器"引擎:转到 C/C++ → C/→"C_Cpp:智能感知引擎"的文件→首选项→设置,并确保将其设置为"默认"。
这些选项存在于 VSCode 1.37.1 和 C/C++ 扩展 0.25.1(又名"cpptools"(中。 我不知道它们是什么时候引入的。
相关文章:
- DirectX 11 如何处理来自 GPU 上的 sharedHandle 的图像
- 使用std::tie进行类似golang的错误处理,同时返回结果,是否有缺点?(C++11)
- C++11如何在1个线程中使用条件变量处理2个线程安全队列
- 如何处理 DirectX 11 驱动程序崩溃
- 如何在文本编辑器中处理 [-Wc++11-extensions]
- 如何在Visual Studio(C++11)中处理相互依赖/循环依赖
- 如何读取和处理格式化的日期,如 01/11/1998、星期日(10000 个输入)C++
- 如何处理分割故障:11 C OSX
- 从函数安全返回和处理动态分配的内存,C++ 11
- 在C 11中处理模板化函数中的空隙变量
- 示例功能处理时间装饰器在C 11中
- 在C 98,C 11交叉兼容代码中处理覆盖的优雅方法
- 在 C++11 中处理零参数可变参数模板
- C++11 使用共享对象的多线程处理
- 线程似乎正在减慢图像处理C++11的速度
- 正在重新处理C++或C++11中的类型异常
- 警告:'auto'类型说明符是 C++11 扩展 [-WC++11-扩展]
- 重载函数,用于处理 C++11 中的多个值类
- Python 的 Visual C++ 无法处理 c++11 错误 C2039:"data":不是 std::vector 的成员
- 处理c++ 11/14中的儒略历日