gcc 4.x de derleme problemi

Başlatan yamtara, 25 Mart 2010 - 23:39:31

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

yamtara

make komutundan sonra derleme esnasinda asagidaki hatayi veriyor
.
.

act_wiz.c: In function 'do_mset':
act_wiz.c:4950: error: lvalue required as left operand of assignment
.
.
act_wiz.c: deki ilgili satirlar asagida
.
   
4947   }
4948
4949   if (ORG_RACE(victim) == RACE(victim)) RACE(victim) = race;
4950   ORG_RACE(victim) = race;
4951
4952   victim->exp = victim->level * exp_per_level(victim, 0);
4953   return;
4954    }
.
.


macrolarida bunlar
...
...
#define RACE_OK(ch,skill)   IS_SET(skill_table[skill].race,(1 << (ORG_RACE(ch) - 1) ))

#define RACE(ch)      (ch->race)
#define ORG_RACE(ch)      (IS_NPC(ch) ? ch->pIndexData->race : ch->pcdata->race)
...
..

nerde yanliş var henüz çözemedim herhangibir fikri olan varmı

mce

lvalue required hatası genellikle değişkene atamamanız gereken bir değeri atadığınız durumlarda oluşuyormuş.

ch->pIndexData->race veya ch->pcdata->race alanları race değeri için uygun olmayabilir.

curtis

ORG_RACE(victim) = race; ve victim->exp; kısımlarında hatanız olabilir , l-value dediğimiz değer kendisine bir şey atanan değerdir.

Kolay gelsin...

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

yamtara

orayada açtım ayni kod hatasini ama hala çözülemedi sadece tartişma konusu olarak kaldi, ;) hala konuyla ilgili yorumlar devam etmekte belki bizim arkadaslardan da konuyla ilgili fikirleri vardir diye dusunmustum, bide bu ingilizce olayi beni sizinir ediyo kodu anlamak bi dert adamlarin yorumlarini anlamak daha baska bi dert )