LINUX.ORG.RU

Варнинги на символьный массив


0

0

Здравствуйте. Написал прогу от балды и для практики, и вроде всё работает. но при компиляции кажет варнинги.

Вот сама прога: http://pastebin.ca/1626104

Вот вывод.

lm2.cpp: In function ‘char* getPonosRay(int)’:
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’
lm2.cpp:95: warning: deprecated conversion from string constant to ‘char*’

Заодно оцените мою первую более-мение серьёзную програму) В плане качества кода.


Ответ на: комментарий от Deleted

хны, говнокод :(

зашёл лор почитать перед сном, всё, плохо спать буду.)

ужс сам факт существования этой программы, а даже не то, что char actions(int); возвращает int.

я давно не писал на си, но с чарами и указателями там тоже что-то не чисто.

эм не в обиду, просто порыв эмоций))

pseudo-cat ★★★
()
Ответ на: комментарий от pseudo-cat

Предложите лучшую реализацию, будет интересно взглянуть как работают опытные программисты в таком случае)

ShTH
() автор топика

1. Надо #include <cstdlib>. То же самое и с ctime, cmath,

2. Осиль многострочные комментарии

3. Осиль единый стиль именования переменных

4. Осиль класс std::string

Demon37 ★★★★
()

Варнинги возникают потому, что "XYZ" это не char*, а const char*. И преобразовать его к char* никак нельзя, ни кастом, ни чем-нибудь другим (так как компилятор вправе разместить строковые литералы в read-only секции). Если нужен именно char* из строкового литерала -- то strdup() и не забыть вызвать free(). А вообще да, std::string.

bvvv
()
Ответ на: комментарий от Reset

Для начала топикстартеру нужно определиться на чём он пишет.

Demon37 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.