Phần 4.3 của C++ Templates bang 'Không có khả năng sử dụng literals dấu phẩy động (và biểu thức hằng số dấu chấm động đơn giản) như các đối số mẫu có lịch sử lý do.'Template chuyên môn hóa với phao là không loại
Tương tự,
$ 14,1/7 quốc gia - "Một phi loại mẫu tham số không được tuyên bố có dấu chấm động, lớp, hoặc kiểu void [Ví dụ:
.
template<double d> class X; // error
template<double* pd> class Y; // OK
template<double& rd> class Z; // OK"
lý do lịch sử đó là Bein là gì g nói về cuốn sách trong câu nói trên?
Nhìn vào lý do tại sao Y và Z là hợp lệ nhưng không phải X, là toàn bộ thử thách liên quan đến việc có các tham số mẫu không kiểu nổi có phải làm gì với con trỏ/tham chiếu không?
Tại sao mẫu thông số không loại có thể không thuộc loại lớp?
@aaa cá chép: Có, tôi có thể đoán ra điều đó. Tôi tò mò lý do lịch sử cho việc không cho phép các loại dấu phẩy động. Ngoài ra, tôi đang cố gắng hiểu tại sao X bị hình thành không phải bởi Y hoặc Z. – Chubsdad
http://groups.google.com/group/comp.lang.c++/browse_thread/thread/2f4c0b5a5ae627bc/bbe916d9e75426de?hl=vi&ie=UTF -8 & oe = utf-8 & q = dấu chấm động + dấu +% 28as + mẫu + đối số + lý do + lịch sử & pli = 1 – Anycorn
@aaa cá chép: không, không phải. Địa chỉ được thông qua sẽ chỉ được biết đến với trình liên kết, nhưng trình biên dịch đã cần nó để khởi tạo. – MSalters