[ad_1]
#include
名前空間 std を使用します。
int main()
{
// 1 行 0 列の配列。
int arr[1][0] ={1};
int i、j;
cout<<"2D 配列を印刷しています:\n" ;
// 各配列要素の値を出力
for(i=0;i<1;i++)
{
for(j=0;j<0;j++)
{
cout<<"\t"<
=”” cout<
=”” リターン=”” 0;
}
試したこと:
main.cpp: 関数 ‘int main()’ 内:
main.cpp:15:22: エラー: ‘int の初期化子が多すぎます [1][0]’
15 | int arr[1][0] ={1};
| | ^
こうなってしまい、解き方がわからない。
解決策 2
二次元配列には (rows x columns)
アイテム。
なぜなら、あなたの場合、 columns = 0
、配列は 0
アイテム。 いつものように、コンパイラは正しいです。
解決策 1
// an array with 1 row and 0 column. int arr[1][0] ={1};
それは意味がありません。配列は長さゼロの次元を持つことはできません。 また、セルが 1 つしかない配列が必要になるのはなぜでしょうか。 次のようなものが必要です:
// an array with 1 row and 0 column. int arr[2][2] ={ {1, 2}, { 3, 4} };
解決策 3
「1行0列」では、要素を格納するスペースがないと思いますが、
int arr[1][0] ={1};
要素を配列に格納しようとしましたが、それは正しくありません。
すべての要素が配列でもある配列が必要で、このような 1 つの要素を含む場合は、次のようにコーディングできます。
#include <vector> #include <iostream> using namespace std; void test() { vector< vector<int> > v(1); cout << "v.size ==" << v.size() << "; v[0].size == " << v[0].size() << endl; }
または、次のようにコーディングできます。
int* arr[1]; //arr[1] is a pointer, and it can pointer to an int-array later int arr1[] = { 1,2,3 }; arr[0] = arr1; // now arr[0][1] == 2
[ad_2]
コメント