Deutsch   English   Français   Italiano  
<v2viv9$3el3j$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Thiago Adams <thiago.adams@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: C23 auto x C++ auto.
Date: Sun, 26 May 2024 12:03:06 -0300
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <v2viv9$3el3j$1@dont-email.me>
References: <v2vela$3e4pn$1@dont-email.me> <20240526172307.00005e3e@yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 26 May 2024 17:03:06 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="b36d0c53be6e431910f898a3cb57d404";
	logging-data="3626099"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18tAWUXrI+6JljdTaTEX8siktvAMXWAdxo="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:A4Y978ETv/HxqYZIWm4bN4vBjIQ=
Content-Language: en-GB
In-Reply-To: <20240526172307.00005e3e@yahoo.com>
Bytes: 2078

Em 5/26/2024 11:23 AM, Michael S escreveu:
> On Sun, 26 May 2024 10:49:30 -0300
> Thiago Adams <thiago.adams@gmail.com> wrote:
> 
>> I think most people is not aware of this:
>>
>>   From 3096 C23 draft
>>
>> "
>> 6.7.9 Type inference
>> ...
>>    2 For such a declaration that is the definition of an object the
>> init- declarator shall have the form
>>
>>      direct-declarator = assignment-expression
>> "
>>
>> Basically "direct-declarator" differs from "declarator" because it
>> does not contains pointer.
>>
>> Then the type inference using auto and pointer is something undefined
>> in C23.
>>
>> struct node{
>>       struct node * next;
>>
>> };
>> int main(){
>>      struct node node = {};
>>      auto * p = node.next;
>> }
>>
>> <source>:7:4: error: 'auto' requires a plain identifier, possibly
>> with attributes, as declarator
>>       7 |    auto * p = node.next;
>>         |    ^~~~
>>
>> This differs from C++.
>>
>>
> 
> Differs in positive way. Less confusing.
> 
I agree!