문제

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;
};

편집 : 약간 관련이 있고 QT와 관련하여 기능 포인터가 슬롯/신호로 선언 될 수 있습니까?

도움이 되었습니까?

해결책

아니, 당신은 할 수 없습니다 .. 함수 포인터에 가상을 넣는 것은 의미가 없습니다. 변수를 무시할 수 없습니다.

다른 팁

기능 포인터입니다 데이터. 데이터 구성원은 가상이 될 수 없습니다. 그리고 그들은 "신체"를 통해 정의 할 수 없습니다. {} 당신의 예에서와 같이. 이것으로 무엇을하려고 했습니까?

다음 코드가있을 때 동일한 오류 메시지가 표시되지만 질문의 예제와 관련이 없습니다.

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

(명백한) 문제는 부족입니다 () 메소드 후 get_a.

질문의 제목을 읽을 때 사람들이 링크를 따르는 데 도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top