他のメソッドがオブジェクトの修飾子として機能するときに、IDEが静的メソッドを自動完了するのは面倒です。以下のようなコードをコンパイルエラーにする(インテリジェントな)方法はありますか?オブジェクト上で静的メンバー関数を呼び出す - コンパイルエラーにする方法はありますか?
// Translate along X and Y axes, rotate pi/4 about axis X;
QQuaternion q;
q.fromAxisAndAngle({1,0,0}, 45.0); // whoops, fromAxisAndAngle is static!
// Later: test fails, "wait why is my quaternion still identity!?"
はおそらく、静的メソッドの戻り値のチェックのいくつかの種類は無視されて、それがClassFoo::StaticMethod()
を通じてオブジェクトClassFoo().StaticMethod()
ではなく、上で呼び出されていますか?
_「IDEは迷惑です...」_実際にはどのIDEですか?たくさんあります! –
エラーではないため、いいえ。 – EJP
言葉:いいえ。これは有効なC++構文です。この場合、コンパイラが警告を発行すると、警告としてエラーとしてマークすることができます。なんで気にするの? – GreatAndPowerfulOz