01/10/2018, 00:19
Lỗi trả về trong visual
bool intset::equal(intset &n){
if(card!=n.card) return false;
for(int i=0; i<card; i++)
if(!n.member(elems[i])) return false;
else return true;
}
Cho mình hỏi vì sao chương trình này chạy trong dev c thì bình thường mà sao dùng trong visual lại bị lỗi : warning C4715: ‘intset::member’ : not all control paths return a value
Bài liên quan
Tại vì Dev-C kiểm tra không kỹ. Với lại đừng code như thế, khó đọc lắm. Tiết kiệm vài cái xuống hàng không làm cho code chạy nhanh hơn hay trông pro hơn tí nào. Nó chỉ làm cho code xấu, người code “gà” hơn hẳn.
Code gốc sau khi sửa nó sẽ như thế này.
Visual Studio nó báo là bởi vì nó thấy ở đây có khả năng không có return nào được gọi.
Thêm một dòng return ở cuối hàm sẽ hết bị báo lỗi
Có điều code này sai về mặt logic mất tiêu rồi. Vòng for chỉ chạy đúng một lần rồi return true hoặc false.
Mình dùng hàm này trong khai báo lớp tập hơp số nguyên IntSet để kiểm tra xem 2 lớp có bằng nhau không
Hàm Member là để kiểm tra xem elem có thuộc tập hợp hay không