【初心者歓迎】C/C++室 Ver.28【環境依存OK】

このエントリーをはてなブックマークに追加
933デフォルトの名無しさん
fstreamをメンバ関数にもつクラスのコピーコンストラクタを作成したときと、fstreamを関数で受け渡しする際に次のようなエラーがでてしまいます。

コピーコンストラクタの場合 :
class Test
{
public :
fstream fs;
Test() { }
Test( const Test &test )
{
fs = test.fs;
}
};

関数で受け渡しする場合 :

void test( fstream fs )
{
}

int main()
{
fstream fs;
test( fs );
return 0;
}

error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : private メンバ (クラス 'std::basic_ios<_Elem,_Traits>' で宣言されている) にアクセスできません。

環境はWindowsのVC8です。
どちらかの場合の解決法がわかれば、問題は解決できるんですが、どなたかわかりますか?
934デフォルトの名無しさん:2006/07/03(月) 21:06:02
>>933
ポインタを保持する
935デフォルトの名無しさん:2006/07/03(月) 21:10:16
fstreamはコピーできない。
参照で渡す or ポインタで渡す のどちらかで