|
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); 这样的语句也可以编译通过 有谁知道这是怎么回事吗? |
|
|
|
int main()
{ const char* p = "Error"; try { throw(CExpTest(p)); } catch(CExpTest& ex) { cout << "Got ex" << endl; } } VC 7.1 编译通过 |
|