Buenas,
El compilador te dice que el uso de localtime es inseguro, ya que devuelve un puntero a una estructura estática. Esto resulta inseguro ya que esta estructura es única y es muy sencillo pisar el valor sin darse cuenta.
Por ejemplo si hacemos:
struct tm* t1 = localtime(0);
struct tm* t2 = localtime(time());
Tanto t1 como t2, valdrán lo mismo, la hora actual.
En su lugar, el compilador de Microsoft propone la función localtime_s que te permite almacenar el resultado correctamente tu propia estructura.
Código C:
Ver originalprivate:
struct tm tiempo;
int dia;
int mes;
int anio;
/*..................................*/
public:
string muestraFecha(){
stringstream s;
time_t fecha_sistema;
localtime_s(&tiempo, &fecha_sistema);
anio=tiempo->tm_year + 1900;
mes=tiempo->tm_mon + 1;
dia=tiempo->tm_mday;
s<<dia<<"/"<<mes<<"/"<<anio<<endl;
return s.str();
}