Tôi có một lớp Màu có chứa ba thành phần nổi (r, g, b).Trả về kiểu sai trong C++
tôi phải lập trình chức năng sau:
Màu getColor (giá trị unsigned char [], int i)
Thông thường tôi nên chương trình nó như thế này:
Color getColor(unsigned char values[], int i){
return Color((float) values[i]/255.0, (float) values[i+1]/255.0, (float) values[i+2]/255.0);
}
Nhưng bởi lỗi Tôi đã làm
return values[i];
Khi tôi biên dịch tôi không nhận được bất kỳ lỗi biên dịch nào và tôi chưa có được lỗi thời gian chạy.
Tại sao điều này có thể xảy ra?
Bạn đang gọi Màu với một hàm tạo có 3 ký tự không dấu. Liệu nó có một constructor với 1 unsigned char quá? ... Sau đó, nó được xây dựng ngầm với nó. – deviantfan
Có bất kỳ hàm tạo nào cho 'Màu' có tham số đơn không? Điều gì xảy ra nếu bạn khai báo chúng là 'tường minh'? –
Vui lòng cho biết cách lớp/cấu trúc màu được xác định. – David