检查文件是否可以打开应该在构造函数中(从我的角度来看),如果有异常--当我尝试初始化一个新对象时,抛出它并尝试/捕获它。但是,如果出现异常,我希望继续请求用户再次尝试输入文件名。我想出了这样的点子: myClass(const string& n) {
//try to open a file andback to the 'cin >> inam
我很难理解为什么这个不能编译。编译器抛出错误:All stored properties of a class instance must be initialized before returning nil from an initializer错误消息本身并没有多大意义,因为失败的初始化就是失败。存储的属性应该只在对象实际初始化时才需要初始化,不是吗?当我省略else { return nil }时,编译器抛出