8.5 --anachronisms、--no_anachronisms

C++ でアナクロニズムを有効および無効にします。

モード

このオプションは、ソース言語が C++ の場合にのみ有効です。

デフォルト

デフォルトは --no_anachronisms です。

typedef enum { red, white, blue } tricolor;
inline tricolor operator++(tricolor c, int)
{
    int i = static_cast<int>(c) + 1;
    return static_cast<tricolor>(i);
}
void foo(void)
{
    tricolor c = red;
    c++; // okay
    ++c; // anachronism
}
オプション --anachronisms を使用してこのコードをコンパイルすると、警告メッセージが表示されます。
オプション --anachronisms を使用せずにこのコードをコンパイルすると、エラーメッセージが表示されます。
関連する参考文書
8.38 --cpp
8.176 --strict、--no_strict
8.177 --strict_warnings
11.8 ARM C++ のアナクロニズム
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.