我目前正在用 C++ 编写一些 WinRT 自定义控件,我的编译器/智能感知告诉我不允许使用静态构造函数。
我需要设置一些静态数据,我可以使用私有(private) bool 实例标志,在我的类的第一次实例化时我可以创建静态数据等。(有效地实现相同的目的)。
但是,也许我错过了什么,因为这看起来有点啰嗦。
什么是 WinRT/c++ 中静态构造的规范替代方法
谢谢
最佳答案
您在类内部声明了静态成员,但您必须在外部定义它们:
// In header file
class Foo
{
static int bar;
static int bar2;
static int init_bar3() { return 123; }
};
// In source file
int Foo::bar;
// Define and intiailize
int Foo::bar2 = 5;
// For more complicated initialization
int Foo::bar3 = Foo::init_bar3();
关于c++ - WinRT - 没有静态构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12384775/