Tengo un problemilla y es que no me viene a la mente como solucionar el siguiente problema:
Tengo este programa de test:
Código C++:
Ver original
FCT_TEST_BGN(Fecha - Comparacion: desigualdad) { const Fecha f(1, 2, 2000); const Fecha g(f); const Fecha h(2, 3, 2001); fct_chk(!(f != g)); fct_chk(f != h); fct_chk(f != "00002/003/02001"); // Problema en esta linea fct_chk("1/1/2001" != g); }
Mi constructor a partir de una cadena de la siguiente manera:
Código C++:
Ver original
Fecha::Fecha (const char *fecha){ int iCheck; if(iCheck == 3){ fecha_actual(); if(!es_valida(iDia_, iMes_, iAno_)) throw Invalida("Error: No ha introducido una fecha correcta"); } else{ throw Invalida("Error: Formato de fecha no valido. Formato valido: dd/mm/aaaa"); } }
El caso es que me da el siguiente problema:
Código:
La clase Invalida está dentro de la clase Fecha:terminate called after throwing an instance of 'Fecha::Invalida' Fecha - Comparacion: desigualdad ..................................Abortado
Código C++:
Ver original
class Invalida { public: Invalida(const char* cError) : cError_(cError) {} const char* por_que() const noexcept; private: const char* cError_; };
No sabría como solucionar esa devolución del error.
Muchas gracias por su tiempo
PD: no sé si debería controlar la cantidad de ceros a la izquierda, ya que el otro método de test de fecha incorrecta funciona correctamente