我正在使用Borland(AKA“Embarcodegearland”)C Builder 2007编译器,它有一个小错误,系统头文件中的某些静态const项可能导致虚假的“xyzzy声明但从未使用过”警告.
我正试图让我的代码100%免费警告,所以想要一种掩盖这些特殊警告的方法(注意 – 但不要只是关闭警告!)
另外,我无法修改头文件.我需要一种“伪造”物品使用的方式,最好不知道它们的类型.
例如,将此函数添加到我的.cpp模块会修复这四个项目的警告,但它似乎有点“特别”.这样做有更好的,更好的自我记录方式吗?
static int fakeUse() { return OneHour + OneMinute + Onesecond + OneMillisecond; }
编辑:亚历克斯建议这样的事情:
#pragma option push #pragma warn -8080 #include "dateutils.hpp" #pragma option pop
…遗憾的是,由于编译器没有巧妙地管理警告状态,因此仍然显示消息.
编辑#2:AshleysBrain有一个很好的建议.我通过构建这样的“dateutils_fix.hpp”头文件来实现它:
#ifndef DATEUTILS_FIXH #define DATEUTILS_FIXH #include <dateutils.hpp> static void FIX_DATEUTIL_WARNINGS() { UNREFERENCED(OneHour); UNREFERENCED(OneMinute); UNREFERENCED(Onesecond); UNREFERENCED(OneMillisecond); } #endif
…然后在我自己的代码中#including这个头而不是dateutils.hpp.
解决方法
原文地址:https://www.jb51.cc/c/119742.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。