在Button函数里调用HuffmanTree1.CreateHfmTree(char Str,int m,int n);
显示错误error C2143: 语法错误 : 缺少“;”(在“.”的前面)
void CHuffmanTreeDlg::OnBnClickedButton1()
{ // TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
if (m_radio1=1)
{
char*pszFileName="C:\C++\HuffmanTree\HuffmanTree\WData.txt";
CStdioFile myFile;
CFileException fileException;
if(myFile.Open(pszFileName,CFile::modeCreate|CFile::typeText|CFile::modeReadWrite),&fileException)
{ AfxMessageBox("打开成功");
myFile.SeekToBegin();
CString str1;
myFile.ReadString(str1);
CString str2;
AfxMessageBox(str1+str2);
ifstream ifs("WData.txt");
ofstream ofs("WCode.txt");
char str[1000];
char Str[100];
int i=0,j,m[100],h,k=0;
int n=0;
char ch;
while(ifs.get(ch))
{
if(ch!='\n')
{str[n++]=ch;}
for(i=0;i<n;i++)
{
j=0;h=0;
while(str[i]!=str[j])
j++;
if(j==i)
{
Str[k]=str[i];
}
else
continue;
for(j=i;j<n;j++)
{
if(str[i]==str[j])
h++;
}
m[k]=h;
k++;
}
HuffmanTree1.CreateHfmTree(char Str,int m,int n);
cin.get();
m_length=n;
m_string1="报文的编码已经保存在WCode.txt";
UpdateData(FALSE);
}
}
else
{
TRACE("Can't open file%s,error=%u\n",pszFileName,fileException.m_cause);
}
myFile.Close();
}
}
这有可能是一个bug:if (m_radio1=1) (用== 代替 =),但是这并不是语法错误。
这行:if(myFile.Open(pszFileName,CFile::modeCreate|CFile::typeText|CFile::modeReadWrite),&fileException)也有问题,在if语句中用一个逗号表达式。
HuffmanTree1.CreateHfmTree(char Str,int m,int n);
这行也算是函数声明,但是缺少一个return类型,没有对函数进行调用。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。