ошибка: ожидаемый конструктор, деструктор или преобразование типа перед маркером ‘;’ 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_ */

Я работаю над тестированием Debian, проблема в том, что при компиляции я получаю

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

Я просто не понимаю Для того, что я вижу, это должно работать. Буду признателен за любую помощь.

1

Решение

Эта строка кода пытается вызвать статическую функцию-член WindowRendererManager.

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

Однако текущее местоположение этого вызова функции не является допустимым местом для вызова. Вы должны добавить вызов функции в метод, который выполняется во время инициализации программы (чтобы фабрика была доступна на время выполнения). Это может быть в начале main () или другого метода в вашем приложении.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]