首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:‘;’标记CEGUI前应为构造函数、析构函数或类型转换

错误:‘;’标记CEGUI前应为构造函数、析构函数或类型转换
EN

Stack Overflow用户
提问于 2014-04-11 13:44:32
回答 1查看 690关注 0票数 1

我是新来这里的,至少是因为我读过几篇对我有帮助的帖子。现在,我想看看是否有人可以帮助我完成以下代码:

代码语言:javascript
复制
#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_ */

我正在做debian测试,我遇到的问题是当我编译的时候

代码语言:javascript
复制
CPFStatic.h:69:82: error: expected constructor, destructor, or type conversion before ‘;’ token

我就是不明白。在我看来,它应该是有效的。如果有任何帮助,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-04-12 09:33:10

这行代码试图调用WindowRendererManager的静态成员函数。

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

但是,此函数调用的当前位置不是有效的调用点。您应该将函数调用添加到在程序初始化期间运行的方法中(以便工厂在执行期间可用)。这可以是main()的开头,也可以是应用程序中的其他方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23004398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档