关于数组指针之不解(这个提问标题怎么还要大于10个字符,我满足你)

问题遇到的现象和发生背景:不明白No matching function for call to 'fun12'的意思,但是还能run出来

img

img

问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
void fun12(int m,char* (*p)[m])//个数---定义一个数组指针
{
    int i=0;
    char **buf=(char**)p;
    for(i=0;i<m;i++)
    {
        printf("%s\n",*(buf+i));
    }
}
int main()
{
    char * buf[]={"aa","bb","cc","dd","ee","ff"};
    fun12(6,&buf);
}
运行结果及报错内容

img

谁能解救我一下,强迫症快。。

void fun12(int m,char* (*p)[m])
二维数组作形参,数组长度用变量是不是有问题啊