include/CPraseData.h 59 错误:字段‘m_ip_and_port'类型不完全#ifndef CPARSEDATA_H
#define CPARSEDATA_H
#include "postCommon.h"
#include "common.h"
#include "CParseHTTPHead.h"
using namespace std;
/*struct tuple
{
std::string stSaddr;
std::string stDaddr;
std::string stSrcPort;
std::string stDestPort;
};*/
struct Post_Info //Define Node
{
int PostID;
char *ReceiverHost;
char *FileName;
char *FilePath;
char *SrcIP;
char *DstIP;
char *SrcPort;
char *DstPort;
//unsigned short SrcPort;
//unsigned short DstPort;
char *Time;
char *TempFilePath;
char *PostType;
char *Country;
};
class CParseData
{
public:
CParseData(); //
virtual ~CParseData();
bool SetHTTPHead(CParseHTTPHead *pHead); //set title
bool OutFile(const char *pData, char *pFileName, int DataLen); //Out file
bool Desplay_Post_Info();
bool SetTuple4(struct tuple ip_and_port);
int GetNewFilename(char *poldname, char *pFileName, int nFileNameLen);
void GetFilenameWithoutSuffix(char *poldname, char *pFileName);
std::string GetFiletype(char *pFileName);
int DataCodeRevert(char *pFromCharset, char *pToCharset, int nInLen);
int NameCodeRevert(char *pFromName, char *pToName);
int code_convert(char* from_charset, char* to_charset, char* inbuf,
int inlen, char* outbuf, int &outlen);
string LCase(string strFileName);
int m_fdout;
virtual bool Parse(char *pData); //Parse data
void itoa(int i,char*string);
string LCase(char* pszFileName);
protected:
int m_nAtt_Count;
std::string m_strDetail;
int m_FileSize;
class CParseHTTPHead *m_pHeadInfo;
struct tuple m_ip_and_port;
Post_Info m_pstrPost_Info;
};
#endif // CPARSEDATA_H
3 个解决方案
#1
/*struct tuple这个被注释了,tuple当然没有定义了。
{
std::string stSaddr;
std::string stDaddr;
std::string stSrcPort;
std::string stDestPort;
};*/
#2
这个问题我也想过,但是别人的电脑上也是没有解开注释就可以编译成功的,我试了解开注释,会出现其他问题。
#3
别人机器上的头文件和你的不一样。
#1
/*struct tuple这个被注释了,tuple当然没有定义了。
{
std::string stSaddr;
std::string stDaddr;
std::string stSrcPort;
std::string stDestPort;
};*/
#2
这个问题我也想过,但是别人的电脑上也是没有解开注释就可以编译成功的,我试了解开注释,会出现其他问题。
#3
别人机器上的头文件和你的不一样。