WinRT - 没有静态构造函数?

Dea*_*alk 3 c++ windows-8 windows-runtime c++-cx

我目前正在用c ++编写一些WinRT自定义控件,我的编译器/ intellisense告诉我不允许使用静态构造函数.

我需要设置一些静态数据,并且我可以使用私有bool实例标志,并且在我的类的第一个实例化中,我可以创建静态数据等.(有效地实现相同的事情).

但是,也许我错过了一些东西,因为这看起来有点啰嗦.

在WinRT/c ++中,静态构造的规范替代方法是什么?

谢谢

Som*_*ude 6

您在类中声明静态成员,但您必须在外部定义它们:

// 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();
Run Code Online (Sandbox Code Playgroud)