配列newでの初期化
大学院のときの研究室の同僚から、コンパイラを変えたら、
error: ISO C++ forbids initialization in array new
というエラーが出たので、助けてくれというのが来た。
エラー箇所は、
//これ。 i,vcs,outputsはint、configはconstなかたまり。 _vc[i] = new VC[_vcs](config, _outputs);
という記述。
配列でnewしたときはデフォルトコンストラクタでないとコールできないみたいっぽいな。えーと、C++の仕様上はどうなっていたっけ・・・と思って調べてみたら、仕様上でもそれは定義さていない。コンパイラ依存の現象ではなかったみたい。
ん?じゃあ、いままでこのプログラムはどのコンパイラに通してたんだ?