У меня проблема. Я хочу инициализировать мой 2Dim-массив, который является членом класса, в конструкторе класса. Например.
class Foo
{
private:
bool testArray[100][4];
public:
Foo( bool t_array[][4]);
};
в файле Foo.cpp:
Foo::Foo(bool array[][4])
{
// initilize it in there with unknown row size
}
У меня нет определенного размера строки, но я знаю, что это будет максимум 100.
Как я мог инициализировать мой testArray в моем конструкторе? заранее спасибо.
Поскольку ваш массив типа bool [100][4]
будет распадаться на указатель типа bool (*) [4]
при передаче конструктору, вы должны также передать количество строк. Нет другого способа, каким образом этот конструктор обнаружит реальный размер этого массива.
В качестве альтернативы вы можете вместо этого использовать std::vector< std::array<bool, 4> >
.