Estoy haciendo un reloj con Arduino, y en el proceso, estoy tratando de formatear enteros en cadenas de dos dígitos formateadas para la lectura del tiempo (por ejemplo, 1 en "01").Arduino Cadena de formato Problema
El siguiente me da "error: se esperaba primaria-expresión antes '{' token":
char * formatTimeDigits (int num) {
char strOut[3] = "00";
if (num < 10) {
strOut = {'0', char(num)};
}
else {
strOut = char(num);
}
return strOut;
}
Estoy tratando de utilizar de la siguiente manera:
void serialOutput12() {
printWeekday(weekday); // picks the right word to print for the weekday
Serial.print(", "); // a comma after the weekday
Serial.print(hour12, DEC); // the hour, sent to the screen in decimal format
Serial.print(":"); // a colon between the hour and the minute
Serial.print(formatTimeDigits(minute)); // the minute
Serial.print(":"); // a colon between the minute and the second
Serial.print(formatTimeDigits(second)); // the second
}
Alguna idea de ¿Qué me falta aquí?
Ok gracias! Siendo utilizado para C#, supongo que asumí que pasaría una referencia a la función (eek). – amb9800
Es (su ejemplo original) * no * devuelve una referencia, sino a un objeto que deja de existir después de que la función sale (por lo que se convierte en una referencia colgante). C no tiene recuento de referencia integrado/recolección de basura. – caf