Tôi đang cố gắng xác định một hàm bằng các mẫu và tôi muốn tên kiểu là int hoặc anEnum (một enum cụ thể mà tôi đã xác định). Tôi đã thử những điều sau đây nhưng tôi đã thất bại:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
Những gì tôi đang cố gắng làm là sử dụng các mẫu, thay vì xác định hai hàm quá tải. Tôi muốn hàm được gọi như sau, mà không cần lập trình viên phải xem xét kiểu
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
Về cơ bản, tôi muốn hàm này được tạo khuôn mẫu cho các kiểu int và aNum. Tôi đã tìm kiếm điều này, nhưng không thể tìm thấy câu trả lời. Tôi có thể thiếu gì? Cảm ơn bạn,
false
cho các loại khác hoặc muốn không khởi tạo chức năng cho các loại khác.