class A
{
public:
    int key;
    A(int n) throw();
    
};

解决方案 »

  1.   

    在构造时,可能会抛出异常
    使用时,要注意用try和catch
      

  2.   

    标准C++中定义构造函数是一个对象构建自己,分配所需资源的地方,一旦构造函数执行完毕,则表明这个对象已经诞生了,有自己的行为和内部的运行状态,之后还有对象的消亡过程(析构函数的执行)。可谁能保证对象的构造过程一定能成功呢?说不定系统当前的某个资源不够,导致对象不能完全构建好自己,又由于C++标准规定构造函数是没有返回值,因为构造函数没有返回值,所以通知对象的构造失败的唯一方法那就是在构造函数中抛出异常。构造函数中抛出异常时概括性总结 
    (1) C++中通知对象构造失败的唯一方法那就是在构造函数中抛出异常; 
    (2) 构造函数中抛出异常将导致对象的析构函数不被执行; 
    (3) 当对象发生部分构造时,已经构造完毕的子对象将会逆序地被析构; 
    (4) 其是还是那句话, “C++的异常处理不会破坏任何一条面向对象的特性!”。 
      

  3.   

    恩,以后构造的时候要加throw.呵呵