Puedo usar __LINE__
como un parámetro de método muy bien, pero me gustaría una manera fácil de usarlo en una función que utiliza cadenas.¿Cómo puedo usar la constante de tiempo de compilación __LINE__ en una cadena?
Por ejemplo decir que tengo esto:
11 string myTest()
12 {
13 if(!testCondition)
14 return logError("testcondition failed");
15 }
Y quiero que el resultado de la función de ser:
"myTest línea 14: testcondition falló"
Cómo puedo escribir logError? ¿Tiene que ser una monstruosidad de una macro?
Si bien, este es un hilo antiguo, una razón por la que lo querría como una cadena como instancias donde no puede usar fprintf(). Uno de esos lugares está en un manejador de señales ya que fprintf() no es seguro para usar en manejadores de señal mientras que write() sí lo es. – Bob9630