0
int main()
{
int ** ary;
ary = new int*[3];
int i;
for(i = 0; i < 3; ++i)
{
ary[i] = new int[4];
}
for(int i = 0; i < 3; ++i)
{
delete [] ary[i];
}
delete [] ary;
return 0;
}
これはかなりシンプルに見えますが、コードブロックでコンパイルするとエラーが発生します。 エラー: 'new'は宣言されていません(この関数では初めて使用されます) 提案がありがとうございます。ありがとうございました。2D配列** p
ご協力ありがとうございます。コンパイラはGNU GCC Compilerです。昨日、別の同様のCコードは、 "削除"部分がないうまく動作します。今日は何か変だ。私は初心者で、youtubeのいくつかのvedioに従っています。 https://www.youtube.com/watch?v=868qXWoGS9E –
私は、「新規」と「削除」はCではなく、Cではないと言っています。 #include #include int main(void){ \t int ** ary; \t ary =(int **)malloc(3 * sizeof(int *)); \t int i;用 \t(i = 0; iは3 <; ++ I) \t {\t \t進[I] =(int型*)のmalloc(はsizeof(INT))。 \t}の \t(i = 0; iは3 '; ++ I) \t {\t \tフリー(進[I])。 \t} \t無料(ary); \t return 0; } –
Kirby
私は試してみました。しかし、私はまだ昨日コードブロックでcを使ってプロジェクトを作ったとは思えません。そして、私は "new"を使って間違いを犯しました。ご協力いただきありがとうございます。 –