Initialize fails to to determine size of

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.