【发布时间】:2018-11-03 03:47:46
【问题描述】:
当我尝试将 myCurrentTry 初始化为 1 并将 myMaxTries 初始化为 5 时遇到警告,错误是:
非静态数据成员的类内初始化是 C++11 扩展 [-Wc++11-extensions]
实现这一点的代码是:
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,但似乎有更深层次的问题。
【问题讨论】:
-
写一个构造函数并在那里初始化你的成员变量。
-
@SidS 他想使用 C++11 功能,他只是想告诉 VSCode 在编译时传递正确的选项。
-
github.com/Microsoft/vscode-cpptools/blob/master/Documentation/… 查看 cppStandard 选项。我以前没用过,所以我不会给出完整的答案。
-
@Brittany 所以重新表述这个问题,在 VSCode 中编译时如何传递
-std=c++11参数? -
您的问题令人困惑。首先,您询问如何“解决 vscode 本身的问题”。然后你问如何“在代码本身中修复这个警告”。您要修复代码还是 VS Code 配置?
标签: c++ macos visual-studio-code gcc-warning