Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

ما هو سبب خطأ "ios is private" في ++C

السلام عليكم و رحمة الله و بركاته.

أعمل على لعبة بسيطة جداً في الكونسول باستخدام ++C فقط من باب المتعة، و لكن أواجه مشكلة و هي ما يلي.

عندما حاولت عمل دالة مهمتها هي الكتابة في ملفات، هذه الملفات هي ملف للنقود و ملفات أخرى للبضائع. و هذه الدالة عندما أستدعيها أمرر لها ٣ باراميترات.

الباراميتر الأول: هو كائن من الكلاس ofstream للكتابة في الملفات.

الباراميتر الثاني: هو متغير نوعه *const char و هو يمثل موقع الملف الذي أريد من الدالة فتحه باستخدام الباراميتر الأول.

الباراميتر الثالث: هو الخاصية التي أريد حفظها، مثل النقود.

ملاحظة: إذا كان الشرح غير مفهوم، إن شاء لله ستفهمون من الكودات. و هذا جزء من الكودات الخاصة باللعبة.

#include <fstream>
#include <iostream>
using namespace std;
class Game {
public:
double money;
ofstream save_money;
void save(ofstream writeFile, const char* path, double property) {
//أشك أن المشكلة من هذا الكود
writeFile.open(path);
if (writeFile) {
writeFile << property;
writeFile.close();
} else {
perror("Error");
}
}
void theGame() {
string play;
cout << "what you want to do?\n";
getline(cin, play);
if (play == "save") {
cout << "Saving..\n";
//هنا استدعيت الدالة التي عرفتها في الأعلى
save(save_money, "Money.txt", money);
} else {
cout << "Not a word\n";
}
}
};
int main() {
Game game;
game.theGame();
return 0;
}
#include <fstream> #include <iostream> using namespace std; class Game { public: double money; ofstream save_money; void save(ofstream writeFile, const char* path, double property) { //أشك أن المشكلة من هذا الكود writeFile.open(path); if (writeFile) { writeFile << property; writeFile.close(); } else { perror("Error"); } } void theGame() { string play; cout << "what you want to do?\n"; getline(cin, play); if (play == "save") { cout << "Saving..\n"; //هنا استدعيت الدالة التي عرفتها في الأعلى save(save_money, "Money.txt", money); } else { cout << "Not a word\n"; } } }; int main() { Game game; game.theGame(); return 0; }

النتيجة تشبه هذه، لأنني حقيقة لم أحفظ الخطأ الذي يظهر، و الآن لا يوجد كهرباء حتى أشغل الحاسوب و أكتب الخطأ هنا.

ios_ is private
ios_ is private

وأيضا، عندما يظهر هذا الخطأ، يقوم برنامج CodeBlocks بفتح صفحة جديدة مليئة بالأكواد التي لا افهمها، تقريباً 1000 كود، و يؤشر لي أين الخطأ.

أرجو المساعدة و أتمنى أن يكون السؤال مفهوم قليلاً.

تعليقات 1

أضف تعليق

يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.