[Programación]aviso: conversión obsoleta de una constante de cadena a ‘char*’ [-Wwrite-strings]

Horacio Castellini horacio9573 en yahoo.com.ar
Vie Ago 17 10:50:33 ART 2012





________________________________
 De: Rafael Bidegain <r.bidegain en gmail.com>
Para: programacion en lugro.org.ar 
Enviado: viernes, 17 de agosto de 2012 8:05
Asunto: Re: [Programación]aviso: conversión obsoleta de una constante de cadena a ‘char*’ [-Wwrite-strings]
 
El día 17 de agosto de 2012 07:09, Horacio Castellini
<horacio9573 en yahoo.com.ar> escribió:
> Perdón estamos hablando del gnu/c++ 4.4? o no se entendió??
>

Yo lo entendí, y también hice una pequeña prueba sin obtener ningún
error ni warning.

me gustaría que me envíes un pequeño cpp y el correspondiente hpp y la
linea que usas para compilar.

Acá te mando los fuentes...

ferror.h

//FERROR.H
// Controlador de errores
//
#ifndef __FERROR_H
    #define __FERROR_H
//
//#pragma GCC diagnostic ignored "-Wwrite-strings"
#include<iostream>
#include<cstdlib>
#include<cerrno>
/*

*/
//
char const *algebra_error[]={
    "Taman~o incorrecto vector",
    "No hay memoria vector",
    "En igualdad vector dimensio'n no concordante",
    "Indice mal vector",
    "En suma vector dimensio'n no concordante",
    "En resta vector dimensio'n no concordante",
    "En producto escalar dimensio'n no concordante",
    "Error en norma vector",
    "Taman~o incorrecto matriz",
    "No hay memoria matriz",
    "En igualdad  matriz dimensio'n no concordante",
    "Indice mal matriz",
    "En suma matriz dimensio'n no concordante",
    "En resta matriz dimensio'n no concordante",
    "En producto matriz dimensio'n no concordante",
    "Error en norma matriz",
    "En producto matriz-vector diemnsio'n no concordante",
    "Se detecto' SINGULARIDAD",
    "Solucio'n singular"
};
extern const char *sys_errlist[];
//
char* espacio=" ";
//funcio'n cartel error
void error(const char* s1, const char* s2)
{
    std::cerr<<s1<<' '<<s2<<std::endl;
    std::cerr<<sys_errlist[errno]<<std::endl;
    std::cerr<<errno<<std::endl;
    exit(1);
}
//
void _error(int k)
{
    error(algebra_error[k],espacio);
}
//
#endif /* __FERROR.H */

ferror.cc

#include<ferror.h>
main(){
    int k;
    k=2;
    _error(k);
    return 0;
}

y el compilador me dice...

c++  -I/home/hcaste/include ferror.cc -o error
In file included from ferror.cc:1:0:
/home/hcaste/include/ferror.h:38:15: aviso: conversión obsoleta de una constante de cadena a ‘char*’ [-Wwrite-strings]
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lugro.org.ar/pipermail/programacion/attachments/20120817/b701e6d6/attachment-0001.htm>


Más información sobre la lista de distribución Programacion