פורסם 2013 באוקטובר 3012 שנים כשאני מקמפל את הקובץ המצורף בסיומת cpp, הקוד מתקפל (למעט כמה אזהרות).כשאני משנה את הסיומת ל c, מתווספות אינסוף אזהרות והקוד לא מתקפל.למה זה קורה? אשמח לעזרה.
פורסם 2013 באוקטובר 3012 שנים אם הקוד לא מתקמפל אז אלה לא אזהרות, אלה שגיאות.איזה אזהרות ושגיאות אתה מקבל? אתה מצפה שננחש?השגיאה היחידה שאני רואה בקוד היא שבעקרון לפי התקן של C אסור להגדיר משתנים באמצע בלוק (מותר רק בתחילתו) בעוד שב-++C מותר, אבל אני לא יודע אם VS אוכף את זה.
פורסם 2013 באוקטובר 3012 שנים מחבר העברתי את כל ההצהרות לתחילת הקוד ועכשיו זה עובד, תודה!מה משמעות האזהרות הבאות: warning C4007: 'main' : must be '__cdecl' warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
פורסם 2013 באוקטובר 3012 שנים לגבי האזהרה הראשונה: יצרת את הפרוייקט כ-Win32 Console Application או כ-Empty Project? אם כ-Win32 Console Application אז יכול להיות שזה מה שגורם לאזהרה, ואז כדאי שתנסה ליצור את הפרויקט מחדש כ-Empty Project. אם לא, אז תנסה אולי להחליף את שורת ה-main בזה:int main(void) {או זה:int main(int argc, char* argv[]) {לגבי האזהרה השנייה: הפונקציה scanf חשופה לסוג של פירצת אבטחה שנקראת Buffer Overflow (אבל רק אם משתמשים בה כדי לקרוא מחרוזות, כלומר ב-s%). הקומפיילר מזהיר מפני זה ומייעץ להשתמש בגרסה "בטוחה" של הפונקציה בשם scanf_s, אבל בשביל מישהו שרק לומד לתכנת זה לא כזה קריטי (במיוחד אם אתה לא משתמש בה לקרוא מחרוזות).
פורסם 2013 בנובמבר 712 שנים אם הקוד לא מתקמפל אז אלה לא אזהרות, אלה שגיאות.איזה אזהרות ושגיאות אתה מקבל? אתה מצפה שננחש?השגיאה היחידה שאני רואה בקוד היא שבעקרון לפי התקן של C אסור להגדיר משתנים באמצע בלוק (מותר רק בתחילתו) בעוד שב-++C מותר, אבל אני לא יודע אם VS אוכף את זה.מותר ב-C99 אבל הקומפיילר של MS לא תומך בC99 ומי שרוצה פיצ'רים של C99 שקיימים כבר ב++C שייבנה את התכנית שלו כ++C או שיתאים את הקוד לC89
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.