Tôi có một chức năng quá tải mà tôi muốn chuyển dọc theo gói trong một hàm std ::. GCC4.6 không tìm thấy "hàm trùng khớp". Trong khi tôi đã tìm thấy một số câu hỏi ở đây các câu trả lời không rõ ràng như tôi muốn chúng. Ai đó có thể cho tôi biết lý do tại sao các mã sau đây không thể khấu trừ quá tải chính xác và làm thế nào để (thanh lịch) làm việc xung quanh nó?Chức năng nạp chồng quá tải thông qua std :: function
int test(const std::string&) {
return 0;
}
int test(const std::string*) {
return 0;
}
int main() {
std::function<int(const std::string&)> func = test;
return func();
}
Vui lòng sử dụng 'static_cast' thay cho dàn diễn viên cũ. – Anonymous
@Anonymous: Có. Nhưng tôi muốn làm cho nó ngắn. Dù sao, tôi đã chỉnh sửa nó để làm cho nó trông giống như C++ - ish! – Nawaz
Làm thế nào mỉa mai - bạn phải sử dụng con trỏ hàm để có được một hàm :: std, được giới thiệu để thoát khỏi con trỏ hàm :) thx – abergmeier