(VS2010) ”C++ error C2572: 重定义默认参数“ 错误
来源:互联网 发布:淘宝商城冬季女鞋 编辑:程序博客网 时间:2024/06/16 04:06
C++中,类成员的声明与定义有时会遇到默认参数,此时如果在声明与定义中都加上了默认参数,编译器编译时便会报错。如下:
//.h中class Ssock{public: Ssock(); int Cbind(ULONG Csockipaddr =inet_addr("127.0.0.1"), USHORT Csockport=htons(1234));}
//.cpp中int Ssock::Cbind(ULONG Csockipaddr =inet_addr("127.0.0.1"), USHORT Csockport=htons(1234)){ memset(&sockAddr, 0, sizeof(sockAddr)); //每个字节都用0填充 sockAddr.sin_family = PF_INET; sockAddr.sin_addr.s_addr = Csockipaddr; sockAddr.sin_port = Csockport; bind(sock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR)); return 0;}
这种情况下编译编译器会报错。
在此感谢@大牌忧愁呼噜妹 与 @Terry_Charles 的肩膀,但是两位没有提到问题的本质——即默认参数只能在声明处,不能在定义处——因为我后来分别将声明处与定义处的默认参数去掉,发现前者可以无参使用,后者只能带参数使用。
结论:默认参数在声明处声明,定义处不再出现。
阅读全文
0 0
- (VS2010) ”C++ error C2572: 重定义默认参数“ 错误
- 【C++】关于编译器错误:error C2572 重定义默认参数 的说明
- error c2572重定义默认参数
- vc2010 实践笔记008---------error C2572: “....”: 重定义默认参数
- C++ error C2572: 重定义默认参数 详解
- error C2572 重定义默认参数 的说明
- C2572 重定义默认参数 错误的几种情况
- 项目中的错误:默认参数重定义
- 默认参数重定义
- 重定义默认参数 mfc
- [debug]重定义默认参数
- C++类的声明与实现中容易忽视的重定义默认参数的错误
- 默认参数重复定义的错误
- VS2010,error C2011: “Font”:“struct”类型重定义
- C++出现error:重定义默认参-解决方法
- 绝不重定义继承的函数默认参数
- C语言中重定义 错误
- error C2375 重定义错误的解决方式,Winsock2.h
- iOS 之微信支付和支付宝合集(二)
- STAF 21错误
- 一些cms渗透的思路
- Android Material Design 兼容库的使用详解
- 开发人员和产品人员对接需求总结
- (VS2010) ”C++ error C2572: 重定义默认参数“ 错误
- UIDatePicker 修改字体颜色
- 我的三次cdh安装经历之第一次:离线安装
- 无法导入reg:指定的文件不是注册脚本——兼了解文本格式问题
- 一个 selector工具类
- 关于mysql tinyInt 长度为1 查询返回boolean类型的数据
- 记录安卓开发中的问题
- 利用UUID()函数将数据表ID改为UUID
- 那些年,我们一起没钱的日子,你是怎么过来的!