0

(int, fstream*) のマップを取得し、いくつかの関数を使用してそれを変更したいと考えています。メイン内で簡単に変更できますが、ポインタを fstream に送信して使用したい場合は、次のコンパイラ エラーが発生しました: error C2440: '=' : cannot convert from 'std::fstream' to 'std::basic_fstream' <_Elem,_Traits> *'

map<int, fstream*> m;
void func(fstream* f){
m[0] = *f; //compile error
}

int main( int argc, const char* argv[] )
{
fstream f("hi.txt");
func(&f); //error
m[0] = &f;   //work fine
f.close();
system("pause");
}

どうすれば変更できますか?

4

1 に答える 1