2014-04-11 1 views
1

나는 여러 게시물을 읽었 기 때문에 적어도 여기 올린 사람 중에 새로운 사람입니다. 지금은 사람이 코드에 도움을 줄 수 있는지 싶습니다오류 : ';'토큰 앞에 예상 생성자, 소멸자 또는 형식 변환이 없습니다. CEGUI

#ifndef CPFSTATIC_H_ 
#define CPFSTATIC_H_ 

#include <CEGUI/CEGUI.h> 
#include <CEGUI/CEGUIWindowRendererModule.h> 
#include "CPFStaticProperties.h" 

namespace CEGUI{ 
    /*! 
    * \brief 
    *  Based in FalagardStatic class. 
    * 
    *  This class requires LookNFeel to be assigned. The LookNFeel should  provide the following: 
    *  States: 
    *   - Enabled      - basic rendering for enabled state. 
    *   - Disabled     - basic rendering for disabled state. 
    *   - EnabledFrame    - frame rendering for enabled state 
    *   - DisabledFrame    - frame rendering for disabled state. 
    *   - WithFrameEnabledBackground - backdrop rendering for enabled state with frame enabled. 
    *   - WithFrameDisabledBackground - backdrop rendering for disabled state with frame enabled. 
    *   - NoFrameEnabledBackground - backdrop rendering for enabled state with frame disabled. 
    *   - NoFrameDisabledBackground - backdrop rendering for disabled state with frame disabled. 
    */ 
class CPFStatic : public WindowRenderer 
{ 
public: 
    static const utf8 TypeName[]; 

    CPFStatic(const String &type); 
    virtual ~CPFStatic(); 

    bool isFrameEnabled() const { return d_frameEnabled; } 
    bool isBackgroundEnabled() const { return d_backgroundEnabled; } 
    void setFrameEnabled(bool setting); 
    void setBackgroundEnabled(bool setting); 

    virtual void render(); 

protected: 
    // static properties 
    static CPFStaticProperties::FrameEnabled  d_frameEnabledProperty; 
    static CPFStaticProperties::BackgroundEnabled d_backgroundEnabledProperty; 

    // implementation data 
    bool d_frameEnabled; 
    bool d_backgroundEnabled; 
}; 
//CEGUI_DEFINE_WR_FACTORY(CPFStatic) 
CEGUI::WindowRendererManager::addFactory<TplWindowRendererFactory<CPFStatic> >(); 
} 

#endif /* CPFSTATIC_H_ */ 

내가 데비안 테스트에서 일하고 있어요, 제가하는 데 문제는 컴파일 할 때 내가 얻을 수 있다는 것입니다

CPFStatic.h:69:82: error: expected constructor, destructor, or type conversion before ‘;’ token 

I 단지를 그것을 얻지 마십시오. 내가보기에 그것은 작동해야합니다. 나는 어떤 도움을 주셔서 감사합니다.

+1

어느 라인이 라인 69입니까? –

+1

게시 된 샘플에 69 줄이 없습니다 ... – heinrichj

+0

'CEGUI :: WindowRendererManager :: ...'줄이 문제의 하나 인 것 같아요. 어떤 줄의 선언이나 정의처럼 보이지 않습니다. 정렬 (함수, 변수 등 ...). 그 라인의 의도 된 점은 무엇입니까? – twalberg

답변

3

이 코드 줄은 WindowRendererManager의 정적 멤버 함수를 호출하려고 시도하고 있습니다.

CEGUI::WindowRendererManager::addFactory<TplWindowRendererFactory<CPFStatic> >();

그러나, 이러한 함수 호출의 현재 위치로부터 호출 올바른 스폿 아니다. 프로그램 초기화 중에 실행되는 메소드에 함수 호출을 추가해야합니다 (공장이 실행 기간 동안 사용 가능하도록). 이것은 main() 또는 응용 프로그램의 다른 메소드의 시작 부분에있을 수 있습니다.

관련 문제