初学者关于变长数组(VLA)的有关问题

菜鸟关于变长数组(VLA)的问题
1、使用VLA的条件和情况(最好有例子)
2、我试着写了一个例子,但是VC报错,求原因
#include<stdio.h>
#include<ctype.h>
void K(int m,int n,int a[m][n]);
int main(void)
{
    return 0;
}

void K(int m,int n,int a[m][n]);
{
m=n;
}
------解决思路----------------------
把参数的a[m][n]改成**a就行了。c++只传数组指针,不管长度,所以括号里的m,n没用。