NOTA: Se que hay muchas preguntas que hablaban de eso, pero sigo siendo un principiante y no podía entender los ejemplos.const char * como un parámetro de la función en C++
tengo un prototipo de función que dice así:
int someFunction(const char * sm);
Aquí, como usted sabe, const char * significa que esta función puede aceptar o const puntero-a-char no constante. He intentado algo así como que en el cuerpo de la función:
someMemberVar = sm;
someMemberVar es sólo un puntero-a-char. El compilador me da un error diciéndome: no se puede convertir de const char * a char *.
Aquí, no pasé una constante, así que o sm o someMemberVar no son constantes. Entonces, ¿de qué constante está hablando el compilador?
¿Cómo exactamente se declara 'someMemberVar', y cuál es el mensaje de error exacto que está recibiendo (el que proporciona no tiene ningún sentido, entonces sospecho que hay un error tipográfico allí). –
He solucionado mi error. Se declara así: char * someMemberVar; –
@ Alan es mayormente correcto. char * se puede convertir de forma segura en const char *, por lo que puedes pasar un char * a ese método como lo harías const char *. El compilador solo hará el reparto por ti. – Herms