这是一小段程序:
if(port==2)
{
switch(ch)
{
case '$':
m_strRXDataCOM2=(char)ch; // 如果是$ 不要写成m_strRXDataCOM2+=(char)ch;
//这里相当于清空之前的字符串的作用
break;
case'*':
{
m_strRXDataCOM2+=(char)ch;
CDC*pDC=GetDC(); //准备数据显示
pDC->TextOut(10,150,"COM2接收到"+m_strRXDataCOM2);
ReleaseDC(pDC);
m_strRXDataCOM2.Replace('$','Y'); //替换后发送
m_SerialPort[1].WriteToPort(m_strRXDataCOM2);
}
break;
default:
m_strRXDataCOM2+=(char)ch;
break;
} }
如果我把case '*'后的大括号删去就有错误:
error C2361: initialization of 'pDC' is skipped by 'default' label
请问这是为什么啊?
if(port==2)
{
switch(ch)
{
case '$':
m_strRXDataCOM2=(char)ch; // 如果是$ 不要写成m_strRXDataCOM2+=(char)ch;
//这里相当于清空之前的字符串的作用
break;
case'*':
{
m_strRXDataCOM2+=(char)ch;
CDC*pDC=GetDC(); //准备数据显示
pDC->TextOut(10,150,"COM2接收到"+m_strRXDataCOM2);
ReleaseDC(pDC);
m_strRXDataCOM2.Replace('$','Y'); //替换后发送
m_SerialPort[1].WriteToPort(m_strRXDataCOM2);
}
break;
default:
m_strRXDataCOM2+=(char)ch;
break;
} }
如果我把case '*'后的大括号删去就有错误:
error C2361: initialization of 'pDC' is skipped by 'default' label
请问这是为什么啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货