2013-06-17 18 views
7

Tôi HAVA một mẫu đơn giản sau đây:Template chuyên môn làm việc với int và không thành công với đôi như là một lớp

template<class T, T N> 
bool VerifyGT(T value) { 
    return value > N; 
} 

bool (*test1)(int) = &VerifyGE< int, (int) 0>; // (1) 
bool (*test2)(double) = &VerifyGE< double, (double) 0.0>; // (2) 

Khi biên dịch: test1 khởi thành công, test2 không thành công với "doesn không phù hợp với loại yêu cầu". Bất kỳ ý tưởng?

+2

thông số mẫu không phải là loại hoặc bảng liệt kê giữa các loại. – juanchopanza

+0

Cùng một vấn đề và một số thảo luận http://stackoverflow.com/questions/3800867/templatefloating-point-non-type –

Trả lời

10

Đối số mẫu không loại không thể là loại dấu phẩy động. Chỉ cho phép các loại tích phân, liệt kê, con trỏ và tham chiếu.

+0

tôi hy vọng bạn không chỉ sao chép câu trả lời từ nhận xét của juanchopanza: D nếu không tôi sẽ lấy lại +1 của tôi . – user1810087

+0

@itwasntpete Nhận xét không được tải khi tôi đăng câu trả lời. Và nó không liệt kê con trỏ/refs. – Angew

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