1

私はここで初めてですが、少なくとも投稿するのは、私を助けてくれたいくつかの投稿を読んだからです。今、誰かがこのコードを手伝ってくれるかどうかを知りたいです:

#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のテストに取り組んでいます.私が抱えている問題は、コンパイル時に

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

私はそれを理解していません。私が見る限り、それは機能するはずです。助けていただければ幸いです。

4

1 に答える 1

3

このコード行は、WindowRendererManager の静的メンバー関数を呼び出そうとしています。

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

ただし、この関数呼び出しの現在の場所は、呼び出し元として有効な場所ではありません。プログラムの初期化中に実行されるメソッドに関数呼び出しを追加する必要があります (実行中にファクトリを使用できるようにするため)。これは、アプリケーションの main() またはその他のメソッドの先頭にある可能性があります。

于 2014-04-12T01:33:10.027 に答える