Basicamente al no asignar tamaño a dat[] el sistema te lo está diciendo de tres modos
carro_rc:27: error: initializer fails to determine size of 'dat'
No puede determinar el tamaño de dat porque no se lo asignaste.
carro_rc:27: error: array must be initialized with a brace-enclosed initializer
De nuevo, te dice que no le asignaste tamaño y que el array debe ser inicializado.
carro_rc:29: error: 'dat' was not declared in this scope
Y como consecuencia de lo anterior dat no ha sido declarado y por eso el error.
Un simple dat[10] resuelve el problema, suponiendo que ese tamaño fuera suficiente.