0

这个程序可能看起来像愚蠢的程序,但我想知道它的解决方案

#include <iostream>

using namespace std;

class base
{
    public:
     static int i;
     static int &j = i;
};

int base::i=9;

int main()
{

    cout<<base::j<<" "<<base::i;

    return 0;
}

当我编译这个程序时,我收到错误“静态类初始化所需的 const 表达式”任何人都可以帮助我提前谢谢

4

1 回答 1

3

很简单:也将其移出课堂:

#include <iostream>

using namespace std;

class base
{
    public:
     static int i;
     static int &j;
};

int base::i=9;
int &base::j=base::i;

int main()
{

    cout<<base::j<<" "<<base::i;

    return 0;
}

活生生的例子

于 2013-05-28T09:57:28.820 回答