静态变量和静态函数导致的问题
2007-12-14 12:19
330 查看
1.静态函数内部使用了外部非静态成员变量导致error C2228: left of '.push_back' must have class/struct/union type。
外部定义 typedef list<int> intList;
intList m_lstChannelInfos;
静态函数使用了该变量
2.静态变量未初始化导致link2001出错。
静态数据成员的使用方法和注意事项如下:
1、静态数据成员在定义或说明时前面加关键字static。
2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:
<数据类型><类名>::<静态数据成员名>=<值>
这表明:
(1) 初始化在类体外进行,而前面不加static,以免与一般静态变量或对象相混淆。
(2) 初始化时不加该成员的访问权限控制符private,public等。
(3) 初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。
3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。
4、引用静态数据成员时,采用如下格式:
<类名>::<静态成员名>
如:
class Myclass
{
public:
Myclass(int a, int b, int c);
void GetNumber();
void GetSum();
private:
int A, B, C;
static int Sum;
};
int Myclass::Sum = 0;
一般的对象不能赋值的也要声明如
static XChannelFactory m_sChannelFactory ;
XChannelFactory XChannelFactory::m_sChannelFactory;
外部定义 typedef list<int> intList;
intList m_lstChannelInfos;
静态函数使用了该变量
2.静态变量未初始化导致link2001出错。
静态数据成员的使用方法和注意事项如下:
1、静态数据成员在定义或说明时前面加关键字static。
2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:
<数据类型><类名>::<静态数据成员名>=<值>
这表明:
(1) 初始化在类体外进行,而前面不加static,以免与一般静态变量或对象相混淆。
(2) 初始化时不加该成员的访问权限控制符private,public等。
(3) 初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。
3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。
4、引用静态数据成员时,采用如下格式:
<类名>::<静态成员名>
如:
class Myclass
{
public:
Myclass(int a, int b, int c);
void GetNumber();
void GetSum();
private:
int A, B, C;
static int Sum;
};
int Myclass::Sum = 0;
一般的对象不能赋值的也要声明如
static XChannelFactory m_sChannelFactory ;
XChannelFactory XChannelFactory::m_sChannelFactory;
相关文章推荐
- 类中静态变量未定义导致undefined reference to static class member问题的解决方法
- 设置多个Web园导致HttpContext.Current.Application、静态变量不能取值的问题
- ThinkPad增值软件Access Connections导致Windows欢迎界面改变问题与解决
- C/C++隐式类型转换导致的若干问题
- IE中ajax+jsp登录界面,由于缓存导致jsp过滤器与ajax请求被拦截的问题和解决
- Mysql数据库更新操作导致死锁问题
- NGUI优化ScroolView中Grid子级太多导致的滑动问题
- 解决VUE框架 导致绑定事件的阻止冒泡失效问题
- Android多进程导致的问题
- hao123流氓设置浏览器注意并且导致蓝屏的问题
- django 解决css,js文件304导致无法加载显示问题
- JS->Applet->JS导致死锁问题解决过程
- Log4j与logback冲突问题,导致第三方日志狂刷
- CentOS Unknown host问题导致Elastic Job项目启动出错
- AZURE云上 mkfs.ext4 /dev/sdc 导致宕机问题解决纪实
- discuz语言包调用失败导致插件乱码问题解决方法
- 一些Windows API导致的Crash以及使用问题总结(API的AV失败,可以用try catch捕捉后处理)
- ChromeDriver和chrome浏览器的版本不一致导致的UI自动化问题
- Kubernetes Pod日志太大导致空间问题
- 关于Java类静态变量和静态方法问题