سؤال

ما هو الخطأ في TextLayoutTransition؟ يمكن أن تعمل مؤشرات لا يتم الإعلان الظاهري؟

LCDWrapper.h:23: error: function definition does not declare parameters

إليك الطبقة.

class LCDInterface {
    public:

    // Slots
    virtual void TextSetSpecialChars() = 0;
    virtual void LayoutChangeBefore() = 0;
    virtual void LayoutChangeAfter() = 0;
    virtual void TextSpecialCharChanged(unsigned int i) = 0;
    virtual void ChangeLayout() = 0;
    virtual void (*TextLayoutTransition)(Generic<LCDText> *v){}; // line 23
    virtual void TransitionFinished() = 0;
};

وتحرير: تتعلق قليلا، وتتعلق كيو تي، يمكن أن تعمل يعلن مؤشرات كما فتحات / إشارات

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

المحلول

لا، لا يمكنك .. أن لا معنى لوضع الظاهري على مؤشر دالة. يمكنك تجاوز متغير.

نصائح أخرى

والمؤشرات الدالة هي <م> بيانات . لا يمكن لأعضاء تكون البيانات الافتراضية. وأنها لا يمكن أن يكون لها "الهيئة" المعرفة من خلال {} كما في المثال الخاص بك. ماذا كنت تحاول أن تفعل هذا؟

وأيضا لا علاقة له مثال في السؤال، على الرغم من أنك تحصل على نفس رسالة الخطأ عند وجود التعليمات البرمجية التالية:

class myClass
{
    public:
        get_a { return a; };  // <-- missing () !!!
    private:
        int a;
};

وو(واضحة) المشكلة تكمن في عدم وجود () بعد get_a الأسلوب.

وعلى أمل أن يساعد الناس تتابع الارتباط عند قراءة عنوان هذا السؤال.

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