我在程序中有以下代码:
void CDlgDP::Start()
{
PINPUTPARAM lpThreadParam = new INPUTPARAM;
lpThreadParam->BaudRate = 9600;
lpThreadParam->ByteSize = 8 ;
lpThreadParam->ChannelsNO = 3;
lpThreadParam->HighRation = 0x19;
lpThreadParam->nSerialPort = 1;
lpThreadParam->Parity = EVENPARITY;
lpThreadParam->StopBits = ONESTOPBIT;
m_ReadThread = AfxBeginThread(ReadCF900K,(LPVOID)lpThreadParam,THREAD_PRIORITY_NORMAL);
}UINT / *CDlgDP:: * /ReadCF900K(LPVOID lpParam)
{
}
ReadCG900K作为全局函数,出现以下错误
error C2065: 'ReadCF900K' : undeclared identifier
为什么,解决给分

解决方案 »

  1.   


    你已经定义了一个全局函数,又在这个dlgdp.cpp里面UINT / *CDlgDP:: * /ReadCF900K(LPVOID lpParam)肯定是不行的
    你已经定义了,使用就可以了
    这样是干什么?
      

  2.   

    在你的实现文件前面先声明UINT ReadCF900K(LPVOID lpParam);
    至少必须在void CDlgDP::Start()的前面先声明UINT ReadCF900K(LPVOID lpParam);---------
      ++C++
    ---------
      

  3.   

    void CDlgDP::Start()
    {
    PINPUTPARAM lpThreadParam = new INPUTPARAM;
    lpThreadParam->BaudRate = 9600;
    lpThreadParam->ByteSize = 8 ;
    lpThreadParam->ChannelsNO = 3;
    lpThreadParam->HighRation = 0x19;
    lpThreadParam->nSerialPort = 1;
    lpThreadParam->Parity = EVENPARITY;
    lpThreadParam->StopBits = ONESTOPBIT;
    m_ReadThread = AfxBeginThread(ReadCF900K,(LPVOID)lpThreadParam,THREAD_PRIORITY_NORMAL);
    }UINT CDlgDP::ReadCF900K(LPVOID lpParam)
    {
    }
      

  4.   

    UINT ReadCF900K(LPVOID lpParam)
    {
    }
    CDlgDP::Start()
    {
    PINPUTPARAM lpThreadParam = new INPUTPARAM;
    lpThreadParam->BaudRate = 9600;
    lpThreadParam->ByteSize = 8 ;
    lpThreadParam->ChannelsNO = 3;
    lpThreadParam->HighRation = 0x19;
    lpThreadParam->nSerialPort = 1;
    lpThreadParam->Parity = EVENPARITY;
    lpThreadParam->StopBits = ONESTOPBIT;
    m_ReadThread = AfxBeginThread(ReadCF900K,(LPVOID)lpThreadParam,THREAD_PRIORITY_NORMAL);
    }
      

  5.   

    在void CDlgDP::Start()前加
    UINT / *CDlgDP:: * /ReadCF900K(LPVOID lpParam);