Вот такой вот кусочек кода. Простите, если написал гавно, только начал переходить с си на си++.
#include <iostream>
#include <new>
#define BLOCK_SIZE 1024
int main ()
{
char * a;
unsigned long size = 0;
for (size = 0;true;size += BLOCK_SIZE)
{
try
{
a = new char [BLOCK_SIZE];
}
catch (bad_alloc)
{
std::cout << a << " bytes allocated, can't allocate moar." << std::endl;
return 1;
}
}
return 0;
}
test.cpp:16: error: expected type-specifier before ‘bad_alloc’
Вроде как Шилдт пишет, что компилятор не обязательно должен обнулять указатель в случае ощибки, но вот bad_alloc дропнуть уж точно должен. А тут вроде как написано, что никаких таких исключений ему не известно даже. ЧЯДНТ?