Khi định nghĩa class như sau :
class SinhVien{private : int tuoi = 18 // Điều này là sai , trong class của c++ không cho phép khởi tạo giá trị cho biến mà chỉ cho khởi tạo khi ở trong constructor
}
Đây là điều lý giải tại sao :
class SinhVien{
private : char * x; chú ý chỗ này
public :
SinhVien(){x = new char [10]; } //chú ý chỗ này nữa
};
thì cái này chạy bình thường , nhưng khi mình cấp phát luôn cho thuộc tính char*x = new char [10]; thì nó lại đưa ra cảnh báo :[Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
Nguồn tham khảo : congdongcviet.com
class SinhVien{private : int tuoi = 18 // Điều này là sai , trong class của c++ không cho phép khởi tạo giá trị cho biến mà chỉ cho khởi tạo khi ở trong constructor
}
Đây là điều lý giải tại sao :
class SinhVien{
private : char * x; chú ý chỗ này
public :
SinhVien(){x = new char [10]; } //chú ý chỗ này nữa
};
thì cái này chạy bình thường , nhưng khi mình cấp phát luôn cho thuộc tính char*x = new char [10]; thì nó lại đưa ra cảnh báo :[Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
Nguồn tham khảo : congdongcviet.com
Không có nhận xét nào:
Đăng nhận xét