Я новичок здесь, по крайней мере, пост, потому что я прочитал несколько постов, которые помогли мне. Теперь я хотел бы посмотреть, может ли кто-нибудь помочь с этим кодом:
#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
Я просто не понимаю Для того, что я вижу, это должно работать. Буду признателен за любую помощь.
Эта строка кода пытается вызвать статическую функцию-член WindowRendererManager.
CEGUI::WindowRendererManager::addFactory<TplWindowRendererFactory<CPFStatic> >();
Однако текущее местоположение этого вызова функции не является допустимым местом для вызова. Вы должны добавить вызов функции в метод, который выполняется во время инициализации программы (чтобы фабрика была доступна на время выполнения). Это может быть в начале main () или другого метода в вашем приложении.
Других решений пока нет …