2

我收到编译器错误:

错误 C2061:语法错误:标识符“bad_alloc”

我之前在其他项目中使用过下面的代码块,在 try 块中分配了不同的内存,没有问题。我希望有人可以向我解释为什么 bad_alloc 没有被 VS10 识别,尽管它在其他程序中使用时没有引起同样的问题?很可能我错过了一些小的语法问题,但我花了几个小时试图弄清楚,此时我觉得我可能对错误视而不见。谢谢您的帮助!

try
{
    node* tbr = new node();
    return tbr;
} // End try allocation

catch(bad_alloc)
{
     throw OutOfMemoryException();
} // End catch(bad_alloc)
4

1 回答 1

9

bad_alloc 在新的头文件中定义。

#include <new>

在命名空间标准中。

using namespace std
于 2013-11-06T20:16:38.377 回答