下面的代碼工作,但我想避免的警告:填充的std ::數組中的成員初始化列表
警告:「健身:: 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_
(不更改其類型)?
這是不容易填滿它,但你可以將其初始化爲'VECT _()'或'VECT _ {}'。 – juanchopanza