문제
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.
질문의 제목을 읽을 때 사람들이 링크를 따르는 데 도움이되기를 바랍니다.
제휴하지 않습니다 StackOverflow