構造を使用してファイルオブジェクトを渡すときに1つの問題に直面しており、コードは
#include <iostream>
#include<fstream>
using namespace std;
typedef struct abc
{
ofstream &t;
}stabc;
class dc
{
public:
static void fun(stabc *ad);
static stabc ab;
};
int main()
{
ofstream str;
str.open("hello.csv",ios::app);
str<<"hellllooo"<<endl;
dc d;
d.ab.t=str;
dc::fun(&d.ab);
cout << "Hello world!" << endl;
return 0;
}
void dc::fun(stabc *ad)
{
ofstream& st=ad->t;
st<<"kikiki"<<endl;
}
初期化されていない参照メンバー abc::t を提供します。どこが間違っているのか教えてください。