关于抛出异常的一个问题
定义如下的一个类
class CExpTest
{
public:
CExpTest(const char* pch){}
~CExpTest(){}
};
如下使用:
...
const char* p = "Error";
try
{
....
throw(CExpTest(p));
}
catch(CExpTest& ex)
{
...
}
提示:error C2061: syntax error : identifier 'p'
如果把抛出语句改为throw(CExpTest("Error")); 就没有问题
而且 CExpTest ex(p); 这样的语句也可以编译通过
有谁知道这是怎么回事吗?