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 ) の「ベスト プラクティス」に従います。
助けてくれてありがとう。