שאלה על ספריות c++

Mapisto

New member
שאלה על ספריות c++

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

gmorphus

New member
לא ממש הבנתי מה הבעיה שלך אבל

פונקציות הן אותה הפונקציה כאשר מתקיימים שלושת התנאים הבאים: 1. השם של הפונקציה זהה. 2. טיפוס החזרה של הפונקציה זהה. 3. מספר הפרמטרים וגם הטיפוסים שלהם זהים. (4. יש עוד עניין: ערכים ברירת מחדל... אני לא אכנס לזה) אם יש לך שתי פונקציות עם שם זהה אבל פרמטרים שונים לא צריכה להיות שום בעיה. לא הבנתי את הבעיה שלך, אתה מוכן להסביר?
 

HaRmosh

New member
לפי מה שידוע לי,

חתימת הפרמטרים, שעל-פיה נקבע האם שתי פונקציות "זהות", לא כוללת את הערך המוחזר - כלומר שתי פונקציות בעלות שם זהה שמקבלות int, למשל, ומחזירות טיפוסים שונים יגרמו לשגיאת קומפילציה מכיוון שהן ייחשבו לזהות.
 

Mapisto

New member
אחלה בדיוק ההסבר שחיפשתי

 

vinney

Well-known member
לא הבנת את הבעיה

הבעיה היא לא בזה שכתבת בטעות type אחר, זה יתקמפל לך מצוין (אם יש לך header עם אותה טעות). הבעיה היא שזה לא יעבור קישור, כי הוא יחפש את המימוש ה"מוטעה" של הפונקציה המועמסת, ולא ימצא.
 
למעלה