Tôi đang gặp một số phương pháp quá tải sự cố trong C++. Ví dụ về vấn đề này, tôi có một lớp với một số phương thức đang bị quá tải, và mỗi phương thức có một tham số với một kiểu dữ liệu khác. Câu hỏi của tôi: là có một thứ tự cụ thể trong lớp những phương pháp này sẽ xuất hiện trong, để đảm bảo phương pháp chính xác được gọi là tùy thuộc vào kiểu dữ liệu tham số của nó?Chức năng/Phương pháp Quá tải C++: Sự nhầm lẫn kiểu dữ liệu?
class SomeClass{
public:
...
void Method(bool paramater);
void Method(std::string paramater);
void Method(uint64_t paramater);
void Method(int64_t paramater);
void Method(uint8_t paramater);
void Method(int8_t paramater);
void Method(float paramater);
void Method(double paramater);
void Method(ClassXYZ paramater);
}
tôi nhận thấy có vấn đề vì khi chạy:
Method("string");
nó được gọi:
Method(bool paramater);
NÀY LÀ HOÀN TẤT HOÀN THÀNH. Quy tắc giải quyết này không đạt được một khái niệm cơ bản như vậy. Có lẽ OP "theo thứ tự tuyên bố" cách tiếp cận trực quan sẽ làm một công việc tốt hơn. –