无语了 回答对了 马上揭贴

nonowhy 2004-07-19 11:43:59
1 NatTree NatTable=*new NatTree();------NatTree 自定义的一个类 调用缺省构造函数 出错:'initializing' : cannot convert from 'class NatTree' to 'class NatTree'
No copy constructor available for class 'NatTree'
2 while(!IpQueue.Append(IpData,100)
{
if(GetLastError()==ERROR_TIMEOUT)
{
Delay(1000);
continue;
}
else break;
} 这么一段 也出错:
error C2143: syntax error : missing ')' before '{' .
3 AfxBeginThread(SnfThread,0,0,0,NULL);
SnfThread()全局函数名 出错:
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'void (__cdecl *)(void)'
4 还有就是strlen要包括什么头文件 include<string.h>不行 出错提示:
syntax error : identifier 'strlen'
一个问10分 分可以加!
...全文
181 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
nonowhy 2004-07-19
  • 打赏
  • 举报
回复
改成:
CWinThread *pSnfThd=AfxBeginThread(SnfThread(),0,0,0,NULL);
还是不行!
nonowhy 2004-07-19
  • 打赏
  • 举报
回复
回来揭贴!
Dong 2004-07-19
  • 打赏
  • 举报
回复
2,在while的前一行的后面少了";"
Dong 2004-07-19
  • 打赏
  • 举报
回复
这样的:char *Data=(char*)(new (strlen(RecvBuf)));

char *Data=new char[strlen(RecvBuf)];
nonowhy 2004-07-19
  • 打赏
  • 举报
回复
第三个明白!
nonowhy 2004-07-19
  • 打赏
  • 举报
回复
1 其他部分的代码写好了 要改了...
2 还是不对
错误; missing ';' before '{'
3 加上()就对了 为什么?
4 也不对
syntax error : identifier 'strlen' 这个我想是不是我的用发有问题?
这样的:char *Data=(char*)(new (strlen(RecvBuf)));
Dong 2004-07-19
  • 打赏
  • 举报
回复
3 是说SnfThread的参数列表? 原形这样的 viod SnfThread() 不可以么?
当然不可以。LPVOID可是void *而不是void,两者相差太多了。
RookieStar 2004-07-19
  • 打赏
  • 举报
回复
对于1,我觉得你大可不必舍近求远啊,要知道你那样的话,开销是很大的,倒不如适当的时候加上*作dereference的好。
RookieStar 2004-07-19
  • 打赏
  • 举报
回复
1。你那样用的话,就要重载copy ctor,编译器给你提示了。

3。那就把()加上吧!
nonowhy 2004-07-19
  • 打赏
  • 举报
回复
多谢!
1 我不想申明为一个指针 所以那样做 应该没问题呀!
2 是我copy上来的时候掉了的 程序里是有的!
3 是说SnfThread的参数列表? 原形这样的 viod SnfThread() 不可以么?
4 这个我在试试!
Dong 2004-07-19
  • 打赏
  • 举报
回复
1,NatTree NatTable=*new NatTree();把*new该成new。

2while(!IpQueue.Append(IpData,100)
改成while(!IpQueue.Append(IpData,100))

3,SnfThread函数的格式不对。格式应该是这样的
UINT MyControllingFunction( LPVOID pParam );

4,#include <string.h>//#是不是没有加#,不然就是有这个函数存在的。
RookieStar 2004-07-19
  • 打赏
  • 举报
回复
楼主要补一补基础了。
RookieStar 2004-07-19
  • 打赏
  • 举报
回复
1。NatTree* NatTable=new NatTree(); // 我想你的意思是这个吧

2。
while(!IpQueue.Append(IpData,100)) // 这里少一括号,粗心
{
if(GetLastError()==ERROR_TIMEOUT)
{
Delay(1000);
continue;
}
else break;
}

3。SnfThread是函数吧?别忘了argument list。

4。的确是在string.h里的,不然试试<cstring>。
nonowhy 2004-07-19
  • 打赏
  • 举报
回复
多谢回答! 揭贴!
darkstar21cn 2004-07-19
  • 打赏
  • 举报
回复
没劲,问题一楼已经解决了,走人。
iNothing 2004-07-19
  • 打赏
  • 举报
回复
pfnThreadProc
Points to the controlling function for the worker thread. Cannot be NULL. This function must be declared as follows:
UINT MyControllingFunction( LPVOID pParam );

64,632

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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