首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >G++内嵌警告

G++内嵌警告
EN

Stack Overflow用户
提问于 2013-11-01 00:49:10
回答 1查看 627关注 0票数 2

下面是一些内联代码,使用G++ (GCC)版本4.3.3发出警告。我只看到这个(4.3.3)老GCC版本的手臂机器的这个问题。在运行GCC 4.5.2的x86机器上,这个问题是不存在的.不幸的是,我目前无法更新ARM机器,但我想知道是否应该关注以下错误.

代码语言:javascript
复制
// myclass.h
class MyClass {
 public:
  MyClass();
  ~MyClass() { Cleanup(); }
  void Cleanup();
};
inline void MyClass::Cleanup() {
  // do some minor cleanup here, GCC DOES inline this function
  // with -Winline, I see that no non-inline warnings are thrown
}

问题是,我收到了警告:“在内联声明之前使用了void::Cleanup()”

这是我自己应该关注的警告吗?我一直只在函数定义中内联,基本上遵循以下(http://www.parashift.com/c++-faq/where-to-put-inline-keyword.html)“最佳实践”。

提前谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-01 00:56:25

代码是有效的,因此来自旧G++的警告是假的。

但我不知道你是否应该担心。G++可能会做一些奇怪的事情,因为它认为代码中存在问题,但我对此表示怀疑--它可能如预期的那样工作,只是发出虚假的警告。它可能无法将其内联到析构函数中,但这可能不是什么大问题,而且-Winline似乎表明情况并非如此。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19719139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档