最近学习C 出现了函数指针的参数的问题

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int latitude = 32;
    int longitude = -64;
    int *la = &latitude;
    int *lo = &longitude;
    /*go_south_east(&latitude,&longitude);此时报错*/
    go_south_east(la,lo);/*此时不报错*/
    printf("%i,%i\n",latitude,longitude );
    return 0;
}

void go_south_east(int *lat,int *lon){
    printf("1:%d,%d\n",*lat,*lon );
    *lat = *lat - 1;
    *lon = *lon + 1;
    printf("2:%d,%d\n",*lat,*lon );
}

调用函数时,参数为何不能为(&latitude,&longitude)?论坛上好像也有人用这种方式成功了啊?
请大神指点一二

可以go_south_east(&latitude,&longitude);
但是,你要把void go_south_east(int *lat,int *lon);这个函数原型申明在main前面