JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.2p0 | CONFIDENTIAL | CodeSecure Inc |
[C++のみ]
メンバ関数f() はstatic宣言されておらず、加えて下記に挙げる全てが真となっています。
Member Function Could be constも併せて確認して下さい。
| クラス名 | Member Function Could Be static | ||||||
|---|---|---|---|---|---|---|---|
| 日本語クラス名 | static宣言可能なメンバ関数 | ||||||
| クラス分類 | スタイル (style) | ||||||
| ニーモニック | LANG.TYPE.MFCBSTATIC | ||||||
| カテゴリー |
|
||||||
| 対応言語 | C および C++ で利用可能です。 |
||||||
| 有効/無効設定 | このワーニングクラスのチェックはデフォルトで無効になっており、プロジェクトには非正規の C向けAST
が必要になります。有効にするにはプロジェクト設定ファイル (configuration file) に以下の WARNING_FILTER ルールと
RETAIN_UNNORMALIZED_C_AST 設定を追加してください。
RETAIN_UNNORMALIZED_C_AST = Yes WARNING_FILTER += allow class="Member Function Could Be static" |
class MyClass {
public:
MyClass(void){ myint=5;my_static_int=10; }
int literal(int i){ // 'Member Function Could Be static' warning issued here
return 5;
}
int cbconst(int i){ // ok: accesses non-static data member myint
// ('Member Function Could be const' warning will be issued if enabled)
my_static_int += 2;
return myint;
}
int cbstatic(int i){ // 'Member Function Could Be static' warning issued here
my_static_int += i;
return my_static_int;
}
static int marked_static(int i){ // ok: declared static
my_static_int += i;
return my_static_int;
}
int cbstatic_uncalled(int i){ // inline and not called, so no warning of this class is issued
my_static_int += i;
return my_static_int;
}
int noninline_cbstatic(int i);
private:
int myint;
static int my_static_int;
};
int MyClass::noninline_cbstatic(int i){ // 'Member Function Could Be static' warning issued here
my_static_int += i;
return my_static_int;
}
int use_MyClass( void ){
MyClass mc;
int i=0;
int rv;
rv = mc.literal(i);
rv = rv + mc.cbconst(0);
rv = rv + mc.cbstatic(i);
rv = rv + mc.marked_static(i);
return rv;
}
設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。
To report problems with this documentation, please visit https://support.codesecure.com/.