kika: (Default)
[personal profile] kika
[livejournal.com profile] pzz написал код, который приводит в изумление компилятор MS VS 2005 в режиме С, но отлично потребляется им же в режиме C++ и gcc в любом режиме.
Выжимка этого кода:
typedef union { char a; } u;
typedef struct{ u a1; } s;
void foo(u *up) { s s1 = { *up }; }

Приводит к
error C2440: 'initializing' : cannot convert from 'u' to 'char'

Кротофф, скажи что я лох?

Date: 2007-01-30 07:21 pm (UTC)
From: [identity profile] kika.livejournal.com
Да говно вопрос. Я инициализирую юнион дереференсед указателем на такой же юнион. В чем проблема?

Date: 2007-01-30 07:24 pm (UTC)
From: [identity profile] kika.livejournal.com
если написать
u u1 = *up;
в foo(), то никаких проблем-то нет.

Profile

kika: (Default)
kika

January 2017

S M T W T F S
1234567
89 1011121314
151617181920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 16th, 2026 11:06 am
Powered by Dreamwidth Studios