もともと、次のようなコードがあります
class Ball
{
public:
double x , y ;
ofstream out ;
} ;
int main()
{
Ball array[N] ;
array[0].out.open("./position_1.txt") ;
array[1].out.open("./position_2.txt") ;
......
}
ここで、N は実行時に決定される定数です。しかし、最近は可変長配列の問題が発生しています。
私はこの投稿の提案に従おうとしていますSTLコンテナーを使用して変数で変数の長さを設定できません。
int main()
{
vector<Ball> Balls ;
Ball b ;
b.out.open( "./position_1.txt" ) ;
Balls.push_back( b ) ;
......
}
push_bak()
ストリームをコピーできないため、で失敗します。
実行前にボールの数を判断できず、効率のためにパスではなくファイルストリームを保存する必要があります (ファイルの開閉を防ぎます)。
目標を達成する方法はありますか?ありがとう