עבור לתוכן

כמה הודעות WARNING לא ברורות במימוש פונציקה ב C VS2008

Featured Replies

פורסם

שלום לכולם!

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

ההודעות אזהרה נוגעות לשורת ה PROTOTYPE של הפונקציה qsort שכתבתי בקובץ qsort.h (ביחד עם המימוש שלה)

אגב, האזהרות מופיעות גם עם כל הקוד כתוב בקובץ אחד.


Warning 1 warning C4030: first formal parameter list longer than the second list
Warning 2 warning C4028: formal parameter 1 different from declaration
Warning 3 warning C4028: formal parameter 2 different from declaration
Warning 4 warning C4273: 'qsort' : inconsistent dll linkage

המימוש וה PROTOTYPE זהים לחלוטין, בדקתי אותם עשרות פעמים ואני לא מבין מה הטעות שם.

הנה ה הכרזה על הפונקציה והמימוש שלה:


void qsort(Node* a, int len);

void qsort(Node* a, int len)
{
Node* median=NULL;
Node* current=NULL;
int i;

if (len <= 1)
return;

median = split(a, len-1, 0);
//get length to median:
for (current=a,i=0; current!=median; current=current->next,i++);
qsort(a, i);
qsort(median->next,len-i-1);

}

אודה על עזרתם לפתרון הבעיה הטורדנית.

פורסם

ההודעה האחרונה זה מה שממש מוזר...

יכול להיות שאתה פונה לקובץ dll שבו יש את הפונקציה הזאת שכבר קומפל

במקום לקמפל מחדש את הקובץ שאתה עובד עליו?

תנסה אולי לעשות Rebuild לפרויקט שלך

פורסם
  • מחבר

כן, גם האחרונה אני לא יודע מה היא קשורה.

אני ממש לא עושה קישור ל DLL.

יש לי קובץ C שבו ה MAIN, שם אני עושה INCLUE לקובץ QSORT.H ולקובץ LINKED_LIST.H שבו הפונקציות והמבנים של הרשימה המקושרת.

ניסיתי לעשות CLEAN SOLUTION, וגם CLEAN לשאר הקבצים, ואז REBUILD, אבל זה עדיין מופיע.

אולי יש קבצים שכדאי לי למחוק ידנית מהתיקיה של הפרוייקט? אם כן, איזה קבצים חוץ מסיומות OBJ ו EXE עליי למחוק?

עוד משהו, ה WARNING LEVEL בהגדרות של הפרוייקט, על LEVEL 3, לא יודע אם זה אומר משהו.... (לא שיניתי את זה או משהו כזה)

פורסם

תנסה לשנות את השם של הפונקציה לשם אחר(למשל qsort123)

פורסם
  • מחבר

אורי!!!! תהיה בריא, כבר התחלתי להשתגע מהדבר הזה..... אלוהים...

אכן הבעיה נפתרה, אני מהיח ש QSORT כבר מוגדרת היכנשהו?....

פורסם

כן, היא חלק מהחבילה הסטנדרטית. רק חפש qsort בגוגל ותמצא.

פורסם

שניצל הקדים אותי...בהצלחה!

פורסם
  • מחבר

אחלה תודה לכם.

אין כמו קוד בלי אזהרות :)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים