Здравствуйте, folk, Вы писали:
[]
F>А вот
F>F>delete [10]buf;
F>
F>насколько я понимаю — синтаксическая ошибка, которую VC почему-то не ловит. Надо писать delete[] buf;
F>Я попробовал — VC6 может принимать в квадратных скобках какой угодно тип, например этот код компилируется и правильно
работает:
F>F>struct A {} a;
F>char* p = new char[10];
F>delete[a] p;
F>
F>Короче VC6 игнорирует этот "аргумент" и вызывает
F>F>void operator delete[](void* p);
F>
F>либо встроенный, либо переопределенный.
А Comeau заявил что это анахронизм:
"ComeauTest.c", line 5: error: delete array size expression used (anachronism)
delete[5] p;
^
Видимо когда-то это было стандартом?
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн