82867


以下のプログラムを実行してみたのですが、ワーニングが表示されてしまいました。

**ワーニングメッセージ:**

[code]

    warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
    
[/code]

プログラムそのものは正常に実行されたものの、コンパイラは `auto` キーワードを認識できていないと言っていました。  
この問題を解決するための拡張機能もしくは他の方法を知っている方がいたら、教えてください。

**プログラム:**

[code]

    int point[] = {85, 72, 63, 45, 100, 98, 52, 88, 74, 65};
    
    for (auto data : point) {
        cout << data << ", ";
    }
    cout << endl;
    
[/code]


CC BY-SA 4.0
2021-10-03T22:56:19.887
82851
2021-10-04T08:12:57.720
2021-10-04T07:03:00.970
4236
48476
question
c++
ワーニングメッセージに関する質問


警告メッセージを翻訳してみましょう(ブラウザの機能や翻訳ソフトで可能)。すると

「警告:範囲ベースのforループは C++11拡張機能です。」

等の文が得られます。この文面から

「範囲ベースのforループ」を使うには  
「C++11拡張機能」が必要らしいが、  
現在そうなっていないので警告されたようだ。

の様に読み取ります(コンパイラの警告やエラーは概ね意味がわかりづらいです)。  
その対応には二種類あって、

(1)「範囲ベースのforループ」を使わない様にコードすれば警告は消えると考えられる。  
(2) コンパイラにC++11以上の拡張機能を含むコードをコンパイルする様に設定すれば良いと考えられる。

ですね。  
(1)はコードを変えるので、ご希望の解決ではないと予測できます。  
次に(2)の「C++11」等に対応させる方法はお使いのコンパイラ、ないし、コンパイル環境、IDE等によって異なります。  
ので、調べてみてください。  
調べても、わからない場合は、質問にお使いのC++言語の環境を示してみると的確な回答が付くかもしれません。


CC BY-SA 4.0
2021-10-04T08:12:57.720
82867
2021-10-04T08:12:57.720
3793
82851
answer