1

我最近格式化了我的电脑并重新安装了 Ubuntu 和 Eclipse。之后,当我打开一个既没有警告又没有错误的 C++ 项目时,Eclipse 现在会显示一些我以前从未见过的警告,例如:

Macro definition can be replaced with constexpr expression

Un- or ill-initialized variable found

截屏: 在此处输入图像描述

这些警告是什么意思,为什么要列出?在我重新安装 Ubuntu 和 Eclipse 之前,它们并不存在……

谢谢!

4

1 回答 1

3

Macro definition can be replaced with constexpr expression

这意味着,您已经使用预处理器宏来定义常量。您应该将其替换为 C++ const 表达式,即替换#define PI 3.141const double PI = 3.141;.

Un- or ill-initialized variable found

这几乎是不言自明的。始终初始化您的变量,否则您将获得未定义的行为。

出现警告的原因可能是您安装的新 Ubuntu 版本附带了较新版本的 GCC,它报告的警告比以前的多。另一种解释是您正在使用比以前其他的编译器选项,例如-Wall.

于 2014-05-21T11:47:15.613 回答