struct Structure1
{
void Function()
{
}
};
struct Structure2
{
static Structure1 sre;
};
int main()
{
Structure2 a;
a.sre.Function();
return 0;
}
会报错,如下图:
这是什么原因?
因为 static Structure1 sre; 这只是一个声明 并没有定义(初始化)
#include<iostream>
using namespace std;
struct Structure1
{
void Function()
{
cout << "111" << endl;
}
};
struct Structure2
{
static Structure1 sre;
};
Structure1 Structure2::sre;
int main()
{
Structure2 a;
a.sre.Function();
return 0;
}