Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: jon в Mar 29, 2010, 23:48



Титла: Един въпрос за g++ ?
Публикувано от: jon в 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
извинявам се за невежеството ми.


Титла: Re: Един въпрос за g++ ?
Публикувано от: neter в Mar 30, 2010, 00:20
Добре дошъл във форума ;) По темата, не е грешка, а е предупреждение, което не е задължително да е проблем, но може да доведе до такъв. А за да го оправиш, промени
Код
GeSHi (C++):
  1. char *c[] = {"red", "yellow", "green", "blue"};
да бъде
Код
GeSHi (C++):
  1. const char *c[] = {"red", "yellow", "green", "blue"};


Титла: Re: Един въпрос за g++ ?
Публикувано от: task_struct в Mar 30, 2010, 00:30
warning: deprecated conversion from string constant to ‘char*’ - цветовете ги разбира като стрингове (тип string), а не като масиви. Преди е имало директен каст, но сега се преповърва да не се използва. По-точното решение ще е
Код:
const string c[] = {"red", "yellow", "green", "blue"};

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


Титла: Re: Един въпрос за g++ ?
Публикувано от: jon в Mar 30, 2010, 11:05
Благодаря за свръх бързия отговор ,всичко  проработи. ;D
но  мога мога ли да накарам компилаторът да пренепрегне
предупрежденията и въпреки всичко да копилира кода !
затова и кръстих темата g++ ?
можеби аз зададох грешно въпросът .   [_]3


Титла: Re: Един въпрос за g++ ?
Публикувано от: CosmicD в Apr 03, 2010, 19:09
И да имаш warning-и програмата ти ще се компилира и даже ще се изпълни. Те са един вид аларма че нещо не е наред и може да стане някоя боза при изпълнението.