Inicialização de matriz dinâmica c ++ com declaração

Eu tenho função assim:

void findScarf1(bool ** matrix, int m, int n, int radius, int connectivity); 

e ema Principal função eu crio matriz dinâmica 2d para passar nesta função

    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}
};

O problema é:

findScarf1(matrix, 6, 7, 3, 4);

causaserro C2664: 'findScarf1': não é possível converter o parâmetro 1 de 'bool [6] [7]' para 'bool **'

Como inicializar matriz de forma compacta (simultaneamente com declaração)?

p.s. desculpe se é questão duplicada, mas eu passei 1,5 horas descobrindo

questionAnswers(4)

yourAnswerToTheQuestion