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

Federico Wiecko fedewi en gmail.com
Vie Ago 17 15:58:28 ART 2012


2012/8/17 Horacio Castellini <horacio9573 en yahoo.com.ar>
>
>
> 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=" ";   (asignacion de una cadena stática a una variable no
> estática! )
>

***************************************************
solución: lo mismo que antes

char const *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]
>
>
g++ --version
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> g++ -o ferror ferror.c -I. -Wall

> ./ferror
En igualdad vector dimensio'n no concordante
Success
0

Espero que solucione el problema Horacio, sino no sé que decirte ya que no
puedo replicarlo.

Suerte!
Federico .-


>
>
> _______________________________________________
> Programacion mailing list
> Programacion en lugro.org.ar
> http://lugro.org.ar/mailman/listinfo/programacion
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lugro.org.ar/pipermail/programacion/attachments/20120817/7d8cd695/attachment.htm>


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