2017-12-20 12 views
-2

私のC++コードのこの部分で参照エラーが発生しています。私は256要素のint配列を作成し、0から始まって1ずつ増やしています。私の配列の内容をチェックしていて、要素が間違っていました。配列を出力してその内容を表示し、参照エラーが発生しています。助けてください?メンバー参照型 'int [256]'は構造体または共用体ではありません

int set[256]; 
for (int i = 0; i < 256; i++) 
    set[i] = i; 
for (int i = 0; i < set.size(); i++) 
    cout << set.at(i) << endl; 
+3

'set.at(i)'は意味がありません。あなたはおそらく 'set [i]'を意味しました。また、C++では 'set.size()' –

+4

も配列はオブジェクトではありません。関連する機能はありません。そのようにコードを記述したい場合は、代わりに 'std :: array'を使用してください。 – lamandy

+1

[C++で配列を使うにはどうすればいいですか?](https://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c) –

答えて

2

int set[256]は、クラスタイプではなく、配列のビルドです。 sizeまたはatのメンバー関数はありません。

あなたは、例えばC++標準ライブラリstd::arrayクラスに関連付けられているものを見つけることができます:

#include <array> 
#include <iostream> 

int main() 
{ 
    std::array<int, 256> set; 
    for (int i = 0; i < set.size(); i++) 
    set[i] = i; 
    for (int i = 0; i < set.size(); i++) 
    std::cout << set.at(i) << std::endl; 

    return 0; 
} 

は、C++ 11個のオプションは、あなたのコンパイラで有効になっていることを確認してください。

関連する問題