אם אני מכין לי קובץ ספריה, ויש בו 2 פונקציות myfunc(float) ואותה הפונקציה רק שהיא מקבלת int לאחר שאני מצרף את ה"הידר" my.h הוא ידע שיש העמסה? אם כן, אז לא הבנתי מה הבעיה בשימוש בספריות אם בטעות כתבתי type אחר מאשר בפונקציה.
פונקציות הן אותה הפונקציה כאשר מתקיימים שלושת התנאים הבאים: 1. השם של הפונקציה זהה. 2. טיפוס החזרה של הפונקציה זהה. 3. מספר הפרמטרים וגם הטיפוסים שלהם זהים. (4. יש עוד עניין: ערכים ברירת מחדל... אני לא אכנס לזה) אם יש לך שתי פונקציות עם שם זהה אבל פרמטרים שונים לא צריכה להיות שום בעיה. לא הבנתי את הבעיה שלך, אתה מוכן להסביר?
חתימת הפרמטרים, שעל-פיה נקבע האם שתי פונקציות "זהות", לא כוללת את הערך המוחזר - כלומר שתי פונקציות בעלות שם זהה שמקבלות int, למשל, ומחזירות טיפוסים שונים יגרמו לשגיאת קומפילציה מכיוון שהן ייחשבו לזהות.
הבעיה היא לא בזה שכתבת בטעות type אחר, זה יתקמפל לך מצוין (אם יש לך header עם אותה טעות). הבעיה היא שזה לא יעבור קישור, כי הוא יחפש את המימוש ה"מוטעה" של הפונקציה המועמסת, ולא ימצא.