Dev - C++ - fallo compilando con gcc

   
Vista:

fallo compilando con gcc

Publicado por carlos (1 intervención) el 25/02/2010 14:37:48
Hola,

Necesito ayuda, a ver si con suerte alguien puede darme alguna idea.

El tema es que estoy intentando compilar un proyecto, del cual forma parte una clase, en cuyo método main realizo esta llamada:

readValue("TYPE", otypes, (long)r.mRType, "=", true)

Para más información, otypes es un vector de punteros a carácter:

static const char* otypes[ ]={"NO_REQUEST", "OBSERVATION", "ACQUISITION", "End"};
if(rk.readValue("TYPE", otypes, (long)r.mRType, "=", true))
{
cerr << "Could not find " << "TYPE" << endl;
return -1;
}// end if

Bien, readValue es un método perteneciente a otra clase (está incluido bien el .h correspondiente), y la cabecera es de esta forma:

long readValue(const string &keyword, const char* enumNames[ ],
long& value, const string& separator="=", const bool& mustBeNext=false);

Como veis, todo coincide...le pasamos un string, un vector de punteros a caracter, un long, otro sting y un boolean.

Pues cuando llega el momento de compilar, me salta este error:

PlanRequests.cc:218: error: no matching function for call to `ReadKeyword::readValue(const char[5], const char*[4], long int, const char[2], bool)'

y me dice q dentro de los candidatos estaría esta función:

long int ReadKeyword::readValue(const std::string&, const char**, long int&, const std::string&, const bool&)

Creo que el problema está en que el tipo del segundo parámetro es un 'const char*[4]', y supuestamente lo que espera es un 'const char **'....Sin embargo, como he escrito, la cabecera de la función en segundo lugar tiene definido un parámetro de tipo 'const char [ ]', y no 'const char **' como dice entre la lista de métodos candidatos...

Si alguien pudiera ayudarme...

Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder