错误:创建模板类时"expected unqualified-id before '{' token"



Main Class

#if defined(CONFIG_SOCKET)
template<class T>
class cUI_ScrData :public GFX_Socket
#elif defined(CONFIG_QUEUE)
template<class T>
class cUI_ScrData :public cUI_MQueueTx
#else
#endif
{
bool data_changed;
public:
T data;
UINT32 id;
void set_data(T& new_data)
{
// Some Code
}
};

套接字类

class GFX_Socket
{
GFX_SocketImpl *gfxSocketImplObj;
public:
GFXSOCKETVSPROJ_API void Client_start();
GFXSOCKETVSPROJ_API void Client_read();
GFX_Socket();
~GFX_Socket();
void ServerWrite(void *msgbuff, int size);
void Client_start();
void Client_read();
#endif
static bool bClientStarted;
};

队列类

class cUI_MQueueTx
{
private:
mqd_t queue;
char ucaQueueName[QUEUE_NAME_STR_MAX_LEN];
public:
cUI_MQueueTx();
~cUI_MQueueTx();
void UI_Q_create();
};

创建从两个不同类派生的模板类时收到此错误。 编译器在主类中 #endif 后指向"{"。

如果预处理器转到 #else,您的代码将无效。

相关内容

  • 没有找到相关文章

最新更新