必须在构造函数基/成员初始值设定项列表中初始化
来源:互联网 发布:java 反射调用get方法 编辑:程序博客网 时间:2024/06/05 02:21
C++ primer 上面的一个例子: // constRef.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"class constRef{public: constRef(int ii); int i; const int ci; int &ri;};constRef::constRef(int ii){ i=ii; ci=ii; ri=i;}//constRef::constRef(int ii):i(ii),ci(i),ri(ii){}int _tmain(int argc, _TCHAR* argv[]){ constRef B(5); printf("%d,%d,%d",B.i,B.ci,B.ri); return 0;} 这样写是有错误的,error C2758: “constRef::ci”: 必须在构造函数基/成员初始值设定项列表中初始化;constRef::ri”: 必须在构造函数基/成员初始值设定项列表中初始化;error C2166: 左值指定 const 对象; 而将constRef::constRef(int ii){ i=ii; ci=ii; ri=i;}使用constRef::constRef(int ii):i(ii),ci(i),ri(ii){} 替换 就正确了,你知道原因吗? 记住:可以初始化const对象或引用类型的对象,但不能对他们赋值。在开始执行构造函数的函数体之前,必须完成初始化。初始化const或引用类型数据成员的唯一机会是在构造函数初始化列表中。
0 0
- 必须在构造函数基/成员初始值设定项列表中初始化
- 必须在构造函数的成员初始化列表里初始化
- C++数据成员必须在构造函数初始化列表中初始化
- 在构造函数中必须用初始化列表的情况
- 必须在构造函数初始化列表里进行初始化的数据成员有哪些
- 构造函数初始化列表中成员变量必须初始化的几种情况
- 使用初始化成员列表初始化数据与在构造函数中初始化数据
- 在构造函数的参数化列表中调用基类构造函数初始化继承来的成员变量
- 在构造函数的参数化列表中调用基类构造函数初始化继承来的成员变量
- C# Tips: 使用集合初始值设定项初始化字典
- C# 关键字“this”在静态属性、静态方法或静态字段初始值设定项中无效
- 构造函数初始值列表
- 哪些东西必须放在构造函数的初始化列表中?
- C++中使用初始化列表比在构造函数中对成员变量赋值更高效
- c++中什么类型的成员变量只能在构造函数的初始化列表中进行
- 构造函数成员初始值列表(member initialization list)
- C++中构造函数初始化成员列表总结
- 项目中 XX的类型初始值设定项引发异常
- [IOS]iPhone文件系统NSFileManager
- virtio驱动分析之libvirt层的参数配置
- activiti开发注意事项
- delphi调用dll
- ios应用开发19——相机和相册的使用
- 必须在构造函数基/成员初始值设定项列表中初始化
- 走近云计算
- redis lua local 作用域
- 使用Spring @Async异步执行方法的笔记
- ofbiz最新版13.07.01环境搭建、安装(linux环境下)
- Xcode5和6共存时,如何发布应用到商店
- HDU 2102 A计划
- 封装网络请求库,统一处理通用异常 (基于volley网络请求库)
- hdu1005Number Sequence