rediculous:[reply]HuYingJie_1995[/reply]C++的try...catch允许使用任何类型变量作为异常。作为初学者,最常见到的异常变量类型就是int和string。当然,进阶程度的C++程序应该使用自周公解梦 死人复活定义的异常类。而Java的异常类型是Throwable的子类,且多是Exception的子类。如果是Error的子类,则无法捕获,程序会自动退出。虽然Error也是Throwable的子类,但效果完全不同。 关于隐式转换,早期的C++允许int直接转long,也允许long直接转int。如果long转int则编译时会有warning。老师一般会教学生不要管warning,只要程序能够运行就好了。如果要消除warning,就需要使用显式转换或static_cast。在Java中,long转int编译时会提示error,程序无法编译,必须显式转换。同理,对于父类引用转子类引用,早期的C++和Java也是如此处理。不能确定未来的C++是否还容许这样的隐式转型。在Keil中,隐式转型的容许度可能比上位机的C++编译器还宽。