2013-08-18 32 views
6

Tôi đã bắt đầu sử dụng thư viện GLM trong mã của mình. Có vẻ khá tốt nhưng tôi không thể làm những việc như thế này:Tại sao các nhà thầu GLM đều rõ ràng?

void foo (const glm :: vec3 & arg); 

foo ({x, y, z}); 

vì các nhà thầu đều rõ ràng.

Điều này đang bắt đầu làm tôi khó chịu. Tôi không thể nghĩ ra một lý do chính đáng để cấm xây dựng ngầm định các loại giá trị đơn giản như vậy. Có các tác giả mù quáng theo một số nguyên tắc không liên quan hoặc họ có biết điều gì đó không?

+1

cách 'foo (glm :: vec3 (x, y, z))' hoặc ... có thể cú pháp này là lý do tại sao chúng không tạo ra một cú pháp rõ ràng khác (??) – mr5

+1

Tại sao bạn hỏi * chúng tôi * thay vì nhà sản xuất thư viện? –

Trả lời

1

Trong phiên bản mới nhất, anh ấy đã thêm C++ 11; xem các thay đổi cho 0.9.5.0 trong README

https://github.com/g-truc/glm

và tải nó tại g-truc

http://glm.g-truc.net/

tôi chỉ cần bỏ nó vào dự án của tôi và tất cả dường như là tốt. Các danh sách khởi tạo là một bổ sung được hoan nghênh.

Ngoài ra, tôi đồng ý rằng việc đặt dấu cách xung quanh :: làm cho việc phân tích cú pháp có chữ ký hơi khó, ít nhất là đối với bộ não của tôi.

Các vấn đề liên quan