tôi có chức năng như thế này:C++ mảng khởi động với tuyên bố
void findScarf1(bool ** matrix, int m, int n, int radius, int connectivity);
và trong chính chức năng tôi có thể tạo mảng động 2ngày để vượt qua trong chức năng này
bool matrix[6][7] = {
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 0, 0}
};
Vấn đề là:
findScarf1(matrix, 6, 7, 3, 4);
gây ra lỗi C2664: 'findScarf1': không thể chuyển đổi thông số 1 từ 'bool [6] [7]' thành 'bool **'
Làm thế nào để khởi tạo mảng gọn (đồng thời với tuyên bố)?
p.s. xin lỗi nếu đó là câu hỏi trùng lặp nhưng tôi đã dành 1,5 giờ tìm nó ra
Mảng không gợi ý. Bạn đang truyền một con trỏ (sau khi phân rã) đến một mảng nơi mà một con trỏ trỏ đến một con trỏ được mong đợi. – chris
http://stackoverflow.com/a/8767247/2494803 – bennofs
thử: 'bool matrix [6] [7]', và 'bool matrix [] [7]', và 'bool (* matrix) [7]' –