【发布时间】:2012-05-24 03:01:29
【问题描述】:
我有一个带有静态成员的类,它是这样的指针:
动画.h
class Animation
{
public:
Animation();
static QString *m;
};
动画.cpp
#include "animation.h"
QString* Animation::m = 0;
Animation::Animation()
{
}
当我尝试从另一个类初始化那个“m”指针时:
Animation::m = new QString("testing");
有效。
但是当我这样做时:
QString x("Testing");
Animation::m = &x;
程序崩溃。
第二种方法有什么问题?
我还想将该静态指针设为私有,这样我就可以为其创建静态 getter 和 setter 函数。 setter 应该使用第二种方法,因为 'x' 将进入一个参数,所以我被卡住了。
感谢您的帮助!
【问题讨论】:
标签: c++ pointers static initialization