首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文本编辑器中处理[-Wc++11-扩展]

如何在文本编辑器中处理[-Wc++11-扩展]
EN

Stack Overflow用户
提问于 2018-05-24 03:28:45
回答 2查看 1.4K关注 0票数 3

当我尝试将myCurrentTry初始化为1,将myMaxTries初始化为5时,我遇到了一个警告,错误是:

非静态数据成员的类内初始化是C++11扩展-Wc++11-扩展。

实现这一目标的代码是:

代码语言:javascript
复制
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代码配置,这样它就不会将其视为警告,我有最新的VS代码,但似乎还有一个更深层次的问题。

EN

回答 2

Stack Overflow用户

发布于 2018-05-24 03:38:25

编写构造函数并在那里初始化成员变量:

代码语言:javascript
复制
class starUFO
{
    private:
        int myCurrentTry;
        int myMaxTries;

    public:
        starUFO()
        :   myCurrentTry(1),
            myMaxTries(5)
        {
        }

        ...
};
票数 0
EN

Stack Overflow用户

发布于 2019-09-01 03:20:50

要告诉VSCode您使用的是哪个C++标准,请打开命令调色板(Ctrl+Shift+P),选择"C/C++:编辑配置(UI)",向下滚动并更改"C++标准“下拉列表。在这种情况下,选择"c++11“或更高版本。

这假设您使用的是"IntelliSense“引擎,而不是旧的”标记解析器“引擎:转到文件→Preferences→Settings→C/C++→"C_Cpp: Intelli Sense Engine",并确保将其设置为”默认“。

这些选项存在于VSCode 1.37.1和C/C++扩展 0.25.1 (a.k.a )中。"cpptools")我不知道他们是什么时候被介绍的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50500482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档