Hola, muy buenas a tod@s. Me estoy desesperando con Visual Studio 12.0 Express. El error se resume en un código muy simple:
int main() {
const char *code;
code = new char[2];
code[0] = 'a'; // Aquí está el error
return 0;
}
Como ven, primero creo una cadena de caracteres. Por consiguiente, la inicializo con el operador new. Y por último, el lugar donde está el error. El error según Visual Studio dice así: "Error: La expresión debe ser un valor L modificable". También he probado lo siguiente:
*code = 'a'
No entiendo lo que pasa. A lo mejor es una tontería...
Espero que me puedan ayudar. Gracias
Las constantes no cambian de valor, quita const y te funcionará
Vale, funciona. Pero lo que era constante no era el puntero? Es decir, la dirección es constante y lo que es apuntado se puede modificar? O al revés? Gracias
Cierto mira:
int main() {
const char *code;
code = new char[2];
code = (char *) "ad";
cout << code;//ad
return 0;
}
si quieres guardar sólo a, si no recuerdo mal tienes que especificar el tamaño.
Vale, muchas gracias!