Posso usare __LINE__
come parametro di un metodo, ma vorrei un modo semplice per utilizzarlo in una funzione che utilizza le stringhe.Come posso utilizzare la costante di tempo di compilazione __LINE__ in una stringa?
Per esempio dire che ho questo:
11 string myTest()
12 {
13 if(!testCondition)
14 return logError("testcondition failed");
15 }
E voglio che il risultato della funzione di essere:
"myTest la linea 14: testcondition non riuscita"
Come posso scrivere logError? Dev'essere qualche mostruosità di una macro?
Mentre, questo è un thread vecchio, un motivo lo si vorrebbe come una stringa come istanze in cui non è possibile utilizzare fprintf(). Uno di questi posti è in un gestore di segnali poiché fprintf() non è sicuro per l'uso nei gestori di segnale mentre write() lo è. – Bob9630