4
4

3 に答える 3

11

あなたのエラーはあなたのコードの以下の部分にあります:

char path[] = new char[pathSize];
delete &path;

に変更します...

char *path = new char[pathSize];
delete[] path;
于 2013-07-10T15:53:47.380 に答える
4

まず、char path[]する必要がありますchar* path。第二に、そのdelete[] path;。あなたなら、new[]あなたなら。delete[]newdelete

これを可能にするgccの拡張機能があります(これは標準的な心ではありません):

int main(int argc, char* argv[])
{
    int size = 34;
    char path[size];

    return 0;
}

ただし、これは gcc 拡張であるため、gcc でのみ機能します。

于 2013-07-10T15:53:23.350 に答える
0

動的配列を使用する必要があります。

char* path = new char[pathSize];

他の人が述べているように、削除は新規にのみ必要なので、必要ですが、コードの記述方法は、通常削除を使用する方法ではありません

于 2013-07-10T15:55:07.413 に答える