0

C++ 2d 配列 (かなり単純なファイル) を実行しようとしていますが、動作しますが、最後にエラー (少なくともエラーだと思います) が表示されます。

配列のコードは次のとおりです。

int myArray[10][10];
for (int i = 0; i <= 9; ++i){

    for (int t = 0; t <=9; ++t){

        myArray[i][t] = i+t; //This will give each element a value

    }

}

for (int i = 0; i <= 9; ++i){

    for (int t = 0; t <=9; ++t){

        cout << myArray[i][t] << "\n";

    }

これは配列を正しく出力しますが、追加します

"0x22fbb0"

終わりに。これは何ですか、なぜそれが起こるのですか?

4

2 に答える 2

6

あなたが示したコードは今のところ問題ありません。印刷されたアドレスは、コードのその部分から印刷されているようには見えません。そのための 2 つの状況を想像できます。

  • 誤って myArray[i] または myArray を印刷し、他のインデックスを適用するのを忘れました。配列値が最初の要素のアドレスに変換されると、アドレスが出力されます。
  • cout << cout のように誤って cout 自体を出力してしまいます。cout にはポインタ型への暗黙の変換があり ( のように正常な状態をチェックするために使用されますif(cout) { ... })、これによりアドレスも出力されます。

まったく別の状況かもしれません。2 つのループの後に表示されるコードを貼り付けていただけますか?

于 2008-12-11T17:39:10.377 に答える
5

エラーは、投稿したコードにはありません。その後、別のカウントがありますか?

0x22.... はメモリアドレスのように見えるので、具体的には次のような行があるかもしれません

cout << myArray;

どこか。

于 2008-12-11T17:38:54.433 に答える