关于抛出异常的一个问题

coldleaf 2003-10-15 10:40:16
定义如下的一个类
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); 这样的语句也可以编译通过
有谁知道这是怎么回事吗?
...全文
49 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2003-10-15
  • 打赏
  • 举报
回复
int main()
{
const char* p = "Error";
try
{
throw(CExpTest(p));
}
catch(CExpTest& ex)
{
cout << "Got ex" << endl;
}
}
VC 7.1 编译通过

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧