11
เหตุใดจึงไม่เรียกเมธอด public const เมื่อ non-const เป็นแบบส่วนตัว
พิจารณารหัสนี้: struct A { void foo() const { std::cout << "const" << std::endl; } private: void foo() { std::cout << "non - const" << std::endl; } }; int main() { A a; a.foo(); } ข้อผิดพลาดของคอมไพเลอร์คือ: ข้อผิดพลาด: 'void A :: foo ()' is private` แต่เมื่อฉันลบไพรเวตมันก็ใช้ได้ เหตุใดจึงไม่เรียกเมธอด public const เมื่อ non-const เป็นแบบส่วนตัว …