Avatar ·

ماذا يجب أن تُرجع الدالة main() في C++: void، int أم شيء آخر؟

مرحباً بالجميع! لقد بدأت مؤخراً في تعلم لغة C++، وحدث لديّ بعض الالتباس بشأن الدالة `main()`. في مصادر مختلفة رأيت تعريفات مختلفة: في بعض الأماكن يكتبون `int main()`، وفي أخرى `void main()`، وأحياناً حتى `main()` دون تحديد النوع. جربت كتابة برنامج بسيط: ```cpp #include using namespace std; void main() { cout << "Hello, world!" << endl; } ``` في Visual Studio تم تجميعه وعمل بالفعل، لكن على مُجمّع آخر (g++) أظهر خطأ: `'::main' must return 'int'`. لماذا هذا؟ ماذا يجب أن تُرجع `main()` في الواقع؟ وهل أحتاج إلى إرجاع شيء في النهاية إذا كتبت `int main()`؟ هل سيعمل إذا لم أكتب أي شيء في `return`؟ وسؤال آخر: ما الذي تُرجعه `main()` بالضبط ولمن هو مطلوب؟ اشرحوا لي، من فضلكم، كمبتدئ، كيف أكتب نقطة الدخول للبرنامج في C++ بشكل صحيح. <<>>

الإجابة الصحيحة: main() يجب أن تُرجع int دائماً

في معيار C++ (و C) مذكور بوضوح: الدالة main() يجب أن تُرجع int.