class student{ static string name;public: void show() { cout<<name<<endl; }};此时编译正确,如果show函数改为类内声明,在cpp文件中定义,就编译出错,为什么?(如果去掉第一句的static关键字,在cpp中定义则不出错)