gpt4 book ai didi

c++ - G++ 内联警告

转载 作者:搜寻专家 更新时间:2023-10-31 01:07:09 25 4
gpt4 key购买 nike

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

// 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 MyClass::Cleanup() 在声明为内联之前已被使用”

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

在此先感谢您的帮助。

最佳答案

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

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

关于c++ - G++ 内联警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19719139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com