C and C++


LANG.LAMBDA.MPL : パラメータリストのないラムダ式

要旨

該当するラムダ式は、パラメータリストが省略されています。

プロパティ

クラス名 Lambda Has No Parameter List
日本語クラス名 パラメータリストのないラムダ式
クラス分類 スタイル (style)
ニーモニック LANG.LAMBDA.MPL
カテゴリー
AUTOSARC++14 AUTOSARC++14:A5-1-3 Parameter list (possibly empty) shall be included in every lambda expression.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっており、プロジェクトには非正規の C向けAST が必要になります。有効にするにはプロジェクト設定ファイル (configuration file) に以下の WARNING_FILTER ルールと RETAIN_UNNORMALIZED_C_AST 設定を追加してください。
RETAIN_UNNORMALIZED_C_AST = Yes
WARNING_FILTER += allow class="Lambda Has No Parameter List"
注:非正規化された AST を継続して使用した場合、使用ディスク容量が増加し解析時間が長くなる可能性があります。

int lambdaparam(int i){
   int x = 0;
   auto lambda_noparam_noargs = [&x]{x++;};  // 'Lambda Has No Parameter List' warning issued here

   auto lambda_param_noargs = [&x](){x++;};                   // ok: includes parameter list

   lambda_noparam_noargs();
   lambda_param_noargs();

   return x;
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。