类的构造函数

Willin 2005-01-24 03:23:06
class Exception
{
public:
char str_what[256];
int ErrCode;
int m_sock;
Exception()
{
*str_what = 0; ErrCode =0;m_sock = 0;
}

Exception(const char* s,int err,SOCKET sock=0)//ERROR
{
m_sock = sock;
char *ord = const_cast<char*>(s);
char *des = str_what;
while(*(ord++))
{
*des = *ord;
des++;
}
*des = 0;
ErrCode = err;
}

~Exception(){}
};

编译时出现错误:
error C2629: unexpected 'class Exception ('
error C2334: unexpected token(s) preceding '{'; skipping apparent function body
请高人指教

...全文
94 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
beyondtkl 2005-01-24
  • 打赏
  • 举报
回复
winsock2.h

#pragma comment(lib, "ws2_32.lib")
Willin 2005-01-24
  • 打赏
  • 举报
回复
谢谢大家
  • 打赏
  • 举报
回复
类名换一个
oo 2005-01-24
  • 打赏
  • 举报
回复
vc6下,加 #include "Winsock2.h" 可以通过。
Willin 2005-01-24
  • 打赏
  • 举报
回复
Exception不是保留字,00的结论是正确的
comparative 2005-01-24
  • 打赏
  • 举报
回复
编译器错误 C2334': 或 {' 的前面有意外标记;跳过明显的函数体

该错误发生在另一个错误之后,因为成员函数是在它们的类的内部定义的。

示例

// C2334.cpp
struct s1 { // in a cpp file
s1(s1 func hello) { // C2334
}

tiger_hs 2005-01-24
  • 打赏
  • 举报
回复
Exception 是否是保留字?
daylove 2005-01-24
  • 打赏
  • 举报
回复
搞错了,那是字符串常量哦。sorry.
avalonBBS 2005-01-24
  • 打赏
  • 举报
回复
用dev c++ and vc.net编译时都没问题啊
daylove 2005-01-24
  • 打赏
  • 举报
回复
char *des = str_what;好象这句有问题啊,char str_what[256],这里str_what是常量(const)的,不允许修改,你定义*des指向str_what,这个指针有可能修改str_what的值啊,


个人意见,仅供参考,保留最终解释权。
oo 2005-01-24
  • 打赏
  • 举报
回复
SOCKET不认识,
忘了什么头文件?

64,670

社区成员

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

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