次のコードは機能しますが、警告を回避したいと思います。
警告: 'fitness::vect_' はメンバー初期化リストで初期化する必要があります [-Weffc++]
g++ -Weffc++
スイッチを指定してコンパイルすると、次のようになります。
#include <array>
template<class T, unsigned N>
class fitness
{
public:
explicit fitness(T v)
{
static_assert(N, "fitness zero length");
vect_.fill(v);
}
private:
std::array<T, N> vect_;
};
int main()
{
fitness<double, 4> f(-1000.0);
return 0;
}
警告を無視する必要がありますか? vect_
コンストラクターの初期化リストを (型を変更せずに)埋める方法はありますか?