我认为类的静态数据成员可以是初始化为全局变量的引用类型,如下所示:
#include <iostream>
#include <stdio.h>
const unsigned int global =0x1fee;
struct K {
int a;
static const int & iref;
};
const int & K::iref=global;
int main()
{
printf("%d\n",K::iref);
return 0;
}
但是在我的VC ++ test中,它可以编译但在执行时会产生异常。这只是VC ++的一个错误吗?我做错了吗?
答案 0 :(得分:0)
你只需要机会
const int&amp; ķ:: IREF
到
ķ:: IREF
您需要在声明时初始化变量,而不是在其范围之外。