[c++]ما سبب هذ التحذير ؟
اولا اخي لايمكن عمل cast من non const الي const
ثانيا اذا اردت ان تقوم بعمل المصفوفه بهذه الطريقه يجب عليها ان تكون داينمك
هل درست البوينتر ؟ اذا درسته سوف تفهم لكن سوف اشرح لك
الفرق بين الداينمك و الستاتك
ف علي سبيل المثال عندما تقوم بتعريف متغير ( ستاتك ) مثلا int a; ف هذا المتغير سوف يتم تعريفه اثناء عمل كومبايل للبرنامج
اما ف حاله الداينمك مثلا int *a = new int; فسوف يتم تعريف هذا المتغير اثناء عمل البرنامج ( Run time ) وهذا المطلوب ف حالتك لانك ماتعرف حجم المصفوفه الا بعد الادخال من المستخدم اي انه خلال run time
لكن لابد ان تقوم بحذف المتغير عند الانتهاء منه delete .
لأني وضعت الكود في محرر أونلاين وأعطى التحذير أن الدالة غير معرفة فأزلتها واشتغل طبيعي، فافترضت أن هذا هو المقصود.
لأن الـCasting هنا خطأ وأصلا بلا فائدة لمَ تصنع كاستنج بين متغير إلى ثابت وفي النهاية لا تستخدم الناتج من العملية؟
احذف السطر العاشر.
(const int)input;
صحيح انا لا استخدم نتائج العملية
لكني قمت بعمل casting من int إلى const int لانه كما تعلم (في المصفوفات) لا يجوز وضع غير الـ const variables كـ size للــمصفوفة .
على كل حال شكرًا لك .
التعليقات