- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最佳做法是在声明时初始化变量。
int TMyClass::GetValue()
{
int vStatus = OK;
// A function returns a value
vStatus = DoSomeThingAndReturnErrorCode();
if(!vStatus)
//Do something
else
return(vStatus);
}
在 Debug模式下,像这样的语句 int vStatus = OK;
在 DEBUG MODE 构建期间不会导致任何问题。
在 RELEASE MODE 中构建时相同,抛出警告说:
w8004: 'vStatus' is assigned a value that is never used.
此外,我在我的代码中使用相同的变量,在相同的函数中,如 if(!vStatus)
并且我还返回了 return(vStatus) 的值;
当我在网上查看 pointers on this debug Vs Release 时,编译器希望您在声明变量时对其进行初始化。
我在 Windows 2003 服务器上使用 Borland developer studio 6。
任何指示都会帮助我理解这个问题。
谢谢
拉吉
最佳答案
您将 vStatus 初始化为 OK,然后立即分配一个新值。
您应该使用您将要使用的值来初始化 vStatus,而不是这样做。
请尝试执行以下操作:
int TMyClass::GetValue()
{
// A function returns a value
int vStatus = DoSomeThingAndReturnErrorCode();
if(!vStatus)
//Do something
else
return(vStatus);
}
编辑:一些说明。
初始化一个变量,只是从不使用该值,然后为该变量分配另一个值是低效的。在您的情况下,您只使用 int 并不是真正的问题。但是,如果为您的类型创建/复制/赋值的开销很大,那么这些开销可能会消耗性能,尤其是当您经常这样做时。
基本上,编译器试图帮助您找出并指出程序中可以改进代码的地方
关于c++ - w8004 编译器警告 BDS6 c/c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1399692/
我正在使用 embarcadero C++ XE8 32 位。当我包含以下文件时: #include #include #include #include 我收到以下错误: [bcc32 Fatal
我的机器上安装了 BDS 2006 C++。现在我创建简单的测试 VCL 程序。它在我的机器上运行没有任何问题。但是在另一台机器上运行时它报告缺少库: cc3270.dll borlndmm.dll
是否可以在 BDS 阶段之前自动加载和执行 EFI 应用程序,就在加载所有 DXE 驱动程序之后? 如果我在 DXE 驱动程序之后将应用程序包含在 .fdf 文件中,它会自动加载和执行吗? 最佳答案
在使用我拥有的 shell 工具 (SpeedCommander) 清理/删除临时 IE/索引文件后,每次尝试运行 Delphi 2010/XE 时,我都会收到“堆栈空间不足” fatal error
我正在为我们的内部库制作一些整洁的安装程序(而不是仅仅打开 DPK 并单击“安装”然后陷入困惑......),这使我必须了解如何获取各种信息Delphi 变量如Known Packages 、注册表R
我是一名优秀的程序员,十分优秀!