By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,191 Members | 787 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,191 IT Pros & Developers. It's quick & easy.

how to declare a structure and a class interlinked

P: n/a
Hi,

I have some problems to write my class :

if I put the structure declaration before my class i have a compiler error
since my CHTTPServerCe is not yet known from the compiler but if I put it
after I have another error because inside my class I use my structure
(CloseConnection(LPREQUEST lpreq)). So how can I solve this problem

/*--------------------------------------------------------------------------
-------------
CONNECTION Structure
----------------------------------------------------------------------------
-----------*/
typedef struct tagREQUEST
{
CHTTPServerCE* pThis;
HANDLE hExit;
SOCKET Socket;
int nMethod;
DWORD dwConnectTime;
DWORD dwRecv;
DWORD dwSend;
HANDLE hFile;
TCHAR szFileName[_MAX_PATH];
}REQUEST, *LPREQUEST;
class CHTTPServerCE
{
public:
CHTTPServerCE();
virtual ~CHTTPServerCE();
int StartServer(short nPort);
int StopServer();
void CloseConnection(LPREQUEST lpReq);

TCHAR* m_szLogFile;
SOCKET m_sockServer;
HANDLE m_hevtStop; ///Handle of the thread stop event
HANDLE m_hThread;
USHORT m_nNumClient;

private:
void WriteLogFile(CString csLog);
void LogEvent(TCHAR* szPath, TCHAR* format, ...);
//void LogEvent(CString csPath, CString lpFormat, ...);
static DWORD WINAPI ListeningThread(LPVOID lpArg);
DWORD ListeningThread();
static DWORD WINAPI ClientThread(LPVOID lpArg);

};

if I put the connection structure before
Jul 22 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
"mosfet" <tr******@wanadoo.fr> wrote in message
news:br**********@news-reader3.wanadoo.fr...
Hi,

I have some problems to write my class :

if I put the structure declaration before my class i have a compiler error
since my CHTTPServerCe is not yet known from the compiler but if I put it
after I have another error because inside my class I use my structure
(CloseConnection(LPREQUEST lpreq)). So how can I solve this problem

/*-------------------------------------------------------------------------- -------------
CONNECTION Structure
-------------------------------------------------------------------------- -- -----------*/
typedef struct tagREQUEST
{
CHTTPServerCE* pThis;
HANDLE hExit;
SOCKET Socket;
int nMethod;
DWORD dwConnectTime;
DWORD dwRecv;
DWORD dwSend;
HANDLE hFile;
TCHAR szFileName[_MAX_PATH];
}REQUEST, *LPREQUEST;
class CHTTPServerCE
{
public:
CHTTPServerCE();
virtual ~CHTTPServerCE();
int StartServer(short nPort);
int StopServer();
void CloseConnection(LPREQUEST lpReq);

TCHAR* m_szLogFile;
SOCKET m_sockServer;
HANDLE m_hevtStop; ///Handle of the thread stop event
HANDLE m_hThread;
USHORT m_nNumClient;

private:
void WriteLogFile(CString csLog);
void LogEvent(TCHAR* szPath, TCHAR* format, ...);
//void LogEvent(CString csPath, CString lpFormat, ...);
static DWORD WINAPI ListeningThread(LPVOID lpArg);
DWORD ListeningThread();
static DWORD WINAPI ClientThread(LPVOID lpArg);

};

if I put the connection structure before

Hello,

Try to forward declare your class before the structure as:
class CHTTPServerCE; // forward declaration

--
Elias
Jul 22 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.