这种警告是什么意思,如何消除。

dalinsky 2001-12-25 10:05:58
[C++ Warning] CGRID.h(114): W8027 Functions containing switch are not expanded inline
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
handj 2001-12-25
  • 打赏
  • 举报
回复
内联函数(inline)等价于C中的预定义宏,要在编译时自动展开
 换句话说内联函数用牺牲空间(编译后代码变大)来换取时间(运行速度更快)
当然有些函数太大,声明为内联函数就很不值得了。
解决办法把该函数放到类的声明文件外
class A{
void method();
};

void A::method(){

}
  
dalinsky 2001-12-25
  • 打赏
  • 举报
回复
不影响运行,调试编译没有问题,Realease时就出现这样的警告。可能与我写的System Tray 有关。
kingfish 2001-12-25
  • 打赏
  • 举报
回复
好像去不掉,
我也遇到过
只不过自定义了一个消息处理函数而已,并且不是inline,
但不影响运行


csz_cmy 2001-12-25
  • 打赏
  • 举报
回复
inline不要用switch.
用switch则inline设去作用!
dalinsky 2001-12-25
  • 打赏
  • 举报
回复
怎么,没人?
still_me 2001-12-25
  • 打赏
  • 举报
回复
试一试:
try{...
}
catch{
...
}
吧!

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧