各路高手,请教一下这个错误是怎么回事,谢谢

beijixing963 2004-10-21 09:44:51
我有这段代码,当调用GetRecords(st_nTag, st_nValue);这个函数后出现
this CXX0017: Error: symbol "this" not found 错误,我该怎么办啊?

void CDialog_sx::OnOK()
{
CString szPath,szResultPath,m_szRawPureName;
CString szErr,szProfile,m_szcountFileName;
static int st_nTag = 0, st_nValue = 0;
DWORD dwRead;
//Acc_nbr calling_nbr[500000];

UpdateData(TRUE);
szPath=m_edit;
szResultPath=m_edit2;
st_nTag = 0;
st_nValue = 0;
if (!m_fileopen.Open(szPath, CFile::modeRead|CFile::typeBinary))
{
szErr.Format("源文件%s打开失败", szPath);
MessageBox( szErr, "错误", MB_OK|MB_ICONERROR);
}

m_filewrite.Open(szResultPath, CFile::modeWrite|CFile::modeWrite);
dwRead = MAX_READ;
m_filewrite.SeekToEnd();
while (dwRead == MAX_READ)
{
memset(m_strInBuffer, 0, sizeof(m_strInBuffer));
dwRead = m_fileopen.Read(m_strInBuffer, MAX_READ);
if (dwRead == 0)
break;
if (dwRead < MAX_READ)
{
m_strInBuffer[dwRead] = 0x0a;
m_strInBuffer[dwRead+1] = 0x0d;
m_strInBuffer[dwRead+2] = 0;
}
GetRecords(st_nTag, st_nValue);
WriteToLog();
}
m_filewrite.Close();


}
void CDialog_sx::GetRecords(int& nTag, int& nValue)
{
int flag=0;
int nLen = strlen(m_strInBuffer);

for (int i = 0; i < nLen; i++)
{

if (i >= 7&&i<11)
{
areacode[i-7]=m_strInBuffer[i];
if (i==10)
areacode[i-6]='\0';
continue;
}
else if (i >= 11&&i<18)
{
calling[i-11]=m_strInBuffer[i];
if (i==17)
calling[i-10]='\0';
continue;
}
else if (m_strInBuffer[i] == 0x0a)
{
flag=1;
continue;
}
if (flag==1)
{
ticket.Format("20 41 %s %s 1 999999999 133 10724\n",areacode,calling);
}
}
}

void CDialog_sx::WriteToLog()
{
//m_filewrite.Write(m_strInBuffer, strlen(m_strInBuffer));
m_filewrite.Write(ticket, strlen(ticket));
}
...全文
114 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
beijixing963 2004-10-23
  • 打赏
  • 举报
回复
谢谢大家!
beijixing963 2004-10-23
  • 打赏
  • 举报
回复
这个问题我解决了,是因定义全局变量引起的,定义成局部变量就可以了。
beijixing963 2004-10-21
  • 打赏
  • 举报
回复
是在读dwRead = m_fileopen.Read(m_strInBuffer, MAX_READ);这句时出错的!
habao 2004-10-21
  • 打赏
  • 举报
回复
static int st_nTag = 0, st_nValue = 0;去掉static试试
暗黑帝国 2004-10-21
  • 打赏
  • 举报
回复
GetRecords(st_nTag, st_nValue);这个函数有在static函数里调用吗?
kulukyo 2004-10-21
  • 打赏
  • 举报
回复
帮顶混分
beijixing963 2004-10-21
  • 打赏
  • 举报
回复
是在运行时出的错,GetRecords(st_nTag, st_nValue);第一次调用的时候没有出错,当第二次调用的
时候出的这个错误
kugou123 2004-10-21
  • 打赏
  • 举报
回复
奇怪,void CDialog_sx::GetRecords(int& nTag, int& nValue)这里,如果参数是直接传递整型的话,void CDialog_sx::GetRecords(int nTag, int nValue)就可以了啊。
还有传进来的参数,在下面的程序中,根本没用到啊。
  • 打赏
  • 举报
回复
rebuild all

双击错误提示
看错误在那一行
看看附近的行
DentistryDoctor 2004-10-21
  • 打赏
  • 举报
回复
奇怪了。重新编译一下。
暗黑帝国 2004-10-21
  • 打赏
  • 举报
回复
你这个函数里没有this指针啊!恐怕不是错在这里吧!
ccj200308053 2004-10-21
  • 打赏
  • 举报
回复
hehe deng

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧