Автор Тема: Един въпрос за g++ ?  (Прочетена 727 пъти)

jon

  • Новаци
  • *
  • Публикации: 2
  • Distribution: Ubuntu
  • Window Manager: GNOME
    • Профил
Един въпрос за g++ ?
« -: Mar 29, 2010, 23:48 »
Здравеите ! аз сам нов и това ми е първата публикация  ;D
                             
                             enum color{red, yellow, green, blue};

                             void out(enum yn x);

тук е гршката -->  char *c[] = {"red", "yellow", "green", "blue"};

а самата тя е : warning: deprecated conversion from string constant to ‘char*’

използвам Ubuntu 9.10 Linux 2.6.31-20-generic i686 GNU/Linux
използвам g++ 4.4.1
извинявам се за невежеството ми.
« Последна редакция: Mar 29, 2010, 23:55 от jon »
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Един въпрос за g++ ?
« Отговор #1 -: Mar 30, 2010, 00:20 »
Добре дошъл във форума ;) По темата, не е грешка, а е предупреждение, което не е задължително да е проблем, но може да доведе до такъв. А за да го оправиш, промени
Код
GeSHi (C++):
  1. char *c[] = {"red", "yellow", "green", "blue"};
да бъде
Код
GeSHi (C++):
  1. const char *c[] = {"red", "yellow", "green", "blue"};
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

task_struct

  • Напреднали
  • *****
  • Публикации: 576
  • Distribution: Kubuntu 14.04
  • Window Manager: KDE 4.13
    • Профил
Re: Един въпрос за g++ ?
« Отговор #2 -: Mar 30, 2010, 00:30 »
warning: deprecated conversion from string constant to ‘char*’ - цветовете ги разбира като стрингове (тип string), а не като масиви. Преди е имало директен каст, но сега се преповърва да не се използва. По-точното решение ще е
Код:
const string c[] = {"red", "yellow", "green", "blue"};

П.П. Това е мое тълкование на грешката, не съм пробвал дали наистина е така :)
Активен

"Minds are like parachutes. They only function when they are open." - James Dewar

irc.freenode.net  / #linux-bg

jon

  • Новаци
  • *
  • Публикации: 2
  • Distribution: Ubuntu
  • Window Manager: GNOME
    • Профил
Re: Един въпрос за g++ ?
« Отговор #3 -: Mar 30, 2010, 11:05 »
Благодаря за свръх бързия отговор ,всичко  проработи. ;D
но  мога мога ли да накарам компилаторът да пренепрегне
предупрежденията и въпреки всичко да копилира кода !
затова и кръстих темата g++ ?
можеби аз зададох грешно въпросът .   [_]3
« Последна редакция: Apr 07, 2010, 22:59 от jon »
Активен

CosmicD

  • Участници
  • ***
  • Публикации: 9
    • Профил
Re: Един въпрос за g++ ?
« Отговор #4 -: Apr 03, 2010, 19:09 »
И да имаш warning-и програмата ти ще се компилира и даже ще се изпълни. Те са един вид аларма че нещо не е наред и може да стане някоя боза при изпълнението.
Активен