עבור לתוכן

בעיה בהרצת קוד בC++ רושם שלא מוצא iostream.h?

Featured Replies

פורסם

אני מנסה להריץ תוכנית פשוטה ב.net 2003

// message1.cpp

#include <iostream.h>

// Message class - display hello message to screen

class Message

{

private:

int id;

public:

void print()

{

cout << "hello C++!" << endl;

}

};

int main()

{

Message m;

m.print();

return 0;

}

ומקבל שלא מוצא

d:\davis documents\c_plus_plus_book\chap02\message1\message1\message1\message1.cpp(2): fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory

מה עלי לעשות?

פורסם

אין כזה קובץ iostream.h

במקומו תשתמש ב iostream

פורסם

אכן, ותוסיף אחריו

using namespace std;

או שתרשום std::cout ו-std::endl.

פורסם
  • מחבר

תודה זה באמת עזר :xyxthumbs::yelclap:

אני לומד מספר שקניתי c++ מדריך מקצועי של "עיטם"

וכמו שרואים מלא בשגיאות.

פורסם

אני הייתי מחזיר את הספר ודורש את הכסף שלי בחזרה.

(נכנסתי עכשיו לאתר שלהם, ואכן המהדורה החדשה ביותר של הספר מכילה את השגיאה הזו)

פורסם

זו לא שגיאה. פשוט ספר ישן / לא מעודכן.

בהפצות המקוריות של הקומפיילרים היה iostream.h ושום namespace std. במשך תקופה מסוימת היה אפשר להשתמש בשתי הדרכים (iostream עם namespace או iostream.h ללא namespace). באיזשהו שלב העיפו את ה-iostream.h כליל.

פורסם

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

אם לא, אז זו באמת פאשלה מצערת שלהם :silly:

פורסם

http://www.mh2000.co.il/cpp/book.pdf

הם מסבירים את זה בערך בעמוד 50.

בכל מקרה, השימוש ב-iostream.h הוא לא תקני, והעובדה שהם מעדיפים להשתמש בו (או משתמשים בשניהם, באופן לא קונסיסטנטי) היא נקודה לרעתם.

פורסם

הורדת .h מקבצי הספריה הסטנדרטיית הנוכחית נקבעה כבר לפני יותר מעשר שנים כאשר קבעו את הסטנדרט.

ההמלצה שלי: כל ספר C++ שהוא כ"כ ישן שהוא מתאר את C++ לפני הסטנדרט גורלו למשמש מצע לכלוב אוגרים (אפשר גם עכברים או ארנבים).

פורסם

ישן? המהדורה הזו היא מ-2008.

זה עוד יותר גרוע!

ארכיון

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

דיונים חדשים