メインコンテンツ

AUTOSAR C++14 Rule A2-13-3

wchar_t 型を使用してはなりません。

説明

ルール定義

wchar_t 型を使用してはなりません。

根拠

wchar_t のサイズは実装によって異なります。Unicode 値に wchar_t を使用する場合、コードが特定のコンパイラに限定されます。

コードの移植性を高めるには、代わりに char16_tchar32_t を使用します。これらは、UTF-16 および UTF-32 エンコードのテキスト文字列用に C++11 で導入された標準的な型です。

Polyspace 実装

ルール チェッカーでは、wchar_t キーワードのすべての使用にフラグを設定します。

問題を修正しない場合は、結果を正当化するコメントを追加します。詳細は、以下を参照してください。

トラブルシューティング

ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

すべて展開する

char16_t str1[] = u"A UTF-16 string";  //Compliant
char32_t str2[] = U"A UTF-32 string";  //Compliant 
wchar_t str3[] = L"A Unicode string";  //Noncompliant

wchar_t の使用はこのルールに違反します。代わりに、char16_t 型や char32_t 型を使用できます。

チェック情報

グループ: 構文規則
カテゴリ: Required、Automated

バージョン履歴

R2019a で導入