هل هذه هي الطريقة الصحيحة لتحميل عامل التشغيل الأيسر؟ (C ++)

StackOverflow https://stackoverflow.com/questions/928613

سؤال

يعطيني إعلان الوظيفة هذه أخطاء:

ostream& operator<<(ostream& os, hand& obj);

الأخطاء هي:

error C2143: syntax error : missing ';' before '&'
error C4430: missing type specifier
error C2065: 'os' : undeclared identifier
error C2065: 'obj' : undeclared identifier
error C2275: 'hand' : illegal use of this type as an expression
    see declaration of 'hand'
error C4430: missing type specifier

اليد هي فئة قمت بها، عرض هو عضو بيانات عام من النوع char*.

هل يمكن لأحد أن يقول لي ما أفعله خطأ؟

هل كانت مفيدة؟

المحلول

الإعلان يبدو صحيحا. لكن رسالة الخطأ تقترح ذلك ostream غير معروف كنوع. حاول بما في ذلك iostream رأس ويقول std::ostream في حين أن.

شيء آخر يجب أن تنظر فيه هو جعل المعلمة "اليد" إشارة الاتصال. لذلك يمكنك أيضا قبول الزمنين وطباعتها.

نصائح أخرى

هل هذا داخل رأس؟ ثم ربما تحتاج إلى القول std::ostream. وبعد تأكد أنك #include<iosfwd>.

أيضا، ربما يمكنك أن تقول const hand&.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top