[devel] invalid lvalue in assignment

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Сен 1 16:45:26 MSD 2006


On Fri, Sep 01, 2006 at 03:07:40PM +0400, Dmitry V. Levin wrote:
> On Fri, Sep 01, 2006 at 07:32:55AM +0400, Alexey Tourbin wrote:
> > On Wed, Aug 30, 2006 at 02:42:13PM +0400, QA Team Robot wrote:
> > > Package: SearchAndRescue-0.8.2-alt2.1
> > > Packager: Vitaly Lipatov <lav на altlinux>
> > 
> > > menu.c: In function 'SARMenuLabelNew':
> > > menu.c:704: error: invalid lvalue in assignment
> > 
> >    703          /* Allocate structure */
> >    704          m->object[n] = (void *)label_ptr = SAR_MENU_LABEL(calloc(
> >    705              1, sizeof(sar_menu_label_struct)
> >    706          ));
> > 
> > Это довольно типичная ситуация, которая встречается в логах.
> > По сути стало нельзя совмещать двойное присваивание с приведением типа.
> 
> Нет, всё проще:
> 
> $ cat test.c
> int main()
> {
>         char *p;
>         (void*)p = 0;
>         return !!p;
> }
> $ gcc test.c
> test.c: In function 'main':
> test.c:4: error: invalid lvalue in assignment

Точно.  K&R стр. 261 вверху (в русском издании):
Выражение с приведением типа не является lvalue. 8-(
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060901/ff5083c2/attachment-0001.bin>


Подробная информация о списке рассылки Devel