永发信息网

下面一个C++程序老是报错,各位高手帮我看看怎么回事。谢谢

答案:3  悬赏:80  手机版
解决时间 2021-03-02 01:55
  • 提问者网友:不要迷恋哥
  • 2021-03-01 13:00
这个程序
//启动串口监视线程
DWORD threadID;
hcommthread = ::CreateThread((LPSECURITY_ATTRIBUTES)NULL, 0,
(LPTHREAD_START_ROUTINE)serialPort1threadProcess,
AfxGetMainWnd()->m_hWnd, 0, &threadID);
if (hcommthread == NULL)
{
::AfxMessageBox("创建串口1 处理线程失败");
::PostQuitMessage(0);
}

return TRUE; // return TRUE unless you set the focus to a control
}

这是报错:
:\英语四级\新建文件夹\SerialPortAPI\SerialPortAPIDlg.cpp(129) : error C2065: 'hcommthread' : undeclared identifier
E:\英语四级\新建文件夹\SerialPortAPI\SerialPortAPIDlg.cpp(130) : error C2065: 'serialPort1threadProcess' : undeclared identifier
E:\英语四级\新建文件夹\SerialPortAPI\SerialPortAPIDlg.cpp(131) : error C2440: '=' : cannot convert from 'void *' to 'int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
E:\英语四级\新建文件夹\SerialPortAPI\SerialPortAPIDlg.cpp(202) : error C2065: 'hCom' : undeclared identifier
E:\英语四级\新建文件夹\SerialPortAPI\SerialPortAPIDlg.cpp(207) : error C2511: 'OnRecvData' : overloaded member function 'void (unsigned int,long)' not found in 'CSerialPortAPIDlg'
e:\英语四级\新建文件夹\serialportapi\serialportapidlg.h(14) : see declaration of 'CSerialPortAPIDlg'
SerialPortControl.cpp
E:\英语四级\新建文件夹\SerialPortAPI\SerialPortControl.cpp(27) : error C2143: syntax error : missing ')' before '{'
Generating Code...
执行 cl.exe 时出错.

SerialPortAPI.exe - 1 error(s), 0 warning(s)
最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-03-01 14:14
类里面的static 就表示所有类对象只有一个值;也就说它对该类是公用的。
A a(2),b(3); 首先 A::n =0; 之后变成 n=n+2= 2; 然后是n=n+3=5;
a,b 使用同一个n,所以a.disp(), b.disp()都是5,5;

A与A〈int〉使用的不是同一个类,n不一样;从头计算为n=0; n=n+1.2=1.2; n=n+4.6=5.8;
c,d 使用同一个n;c.disp,d.disp 后都是5.8,5.8;
全部回答
  • 1楼网友:逐風
  • 2021-03-01 16:10
hcommthread没有定义,起码加个类型在前边啊。
  • 2楼网友:大漠
  • 2021-03-01 15:43
应该是findwindow函数没找到相应窗口,返回空指针。 尝试把findwindow第一个参数改为0 如果还找不到,那应该就是窗口名有误。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯