que estoy tratando de recopilar la siguiente pieza muy simple de código fuente:g ++ error: 'stricmp' no estaba declarado en este ámbito (pero está bien para 'strcmp')
#include <cstring>
// #include <string.h>
// using namespace std;
class Helper {
public:
int cStringsAreEqual(const char *s1, const char *s2) {
return stricmp(s1, s2);
}
};
... pero estoy recibiendo el siguiente mensaje de error:
g++ error: ‘stricmp’ was not declared in this scope
Sin embargo cuando utilizo strcmp() en lugar destricmp() entonces todo está bien!
¿Qué puede estar mal aquí? ¿No debería permitirse stricmp() cuando se permite strcmp()?
Sureley, esto podría escribirse de una manera mucho mejor sin usar strcmp/stricmp.
Pero ese no es el punto aquí.
Estoy portando un programa que hace mucho uso de las llamadas a stricmp(). Y si de alguna manera es posible, me gustaría evitar todos los esfuerzos necesarios para cambiar cada llamada a stricmp.
¡Cualquier ayuda en esto sería muy apreciada!
BTW: Estoy usando Ubuntu karmic OS (v9.10) con g ++ v4.4.1.
BTW: como puedes ver, también hice algunas pruebas con '#include string.h' o con 'namespace std' pero nada ayudó.
Teniendo en cuenta que stricmp y strcmp no son lo mismo (este último es mayúsculas y minúsculas), es posible que desee hesistate antes de cambiarlos de todos modos. – Brian
Yo * sé * que no son lo mismo. Es por eso que quiero usar stricmp y no strcmp –
Note también que '' y '' no son exactamente los mismos. No es la causa de su problema, pero necesitará escribir 'std :: strcmp' (o' std :: strcoll') en lugar de asumir que los nombres se importen en el espacio de nombres global. –