Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Un identificateur de fonction sans liaison ?

3 réponses
Avatar
Taurre
Bonjour =E0 tous,

En parcourant la norme au sujet de la notion d'identificateur et de liaison=
(linkage), je suis tomb=E9 sur ce passage (C11 [n1570], =A7 6.2.2 Linkages=
of identifiers, al 6, p 37) :

> The following identifiers have no linkage:
> -- an identifier declared to be anything other than an object or a functi=
on ;
> -- an identifier declared to be a function parameter ;
> -- a block scope identifier for an object declared without the storage-cl=
ass
> specifier extern.

Normalement, un identificateur de fonction a toujours une liaison externe s=
auf si sa d=E9claration est pr=E9c=E9d=E9e du mot-cl=E9 =AB static =BB, auq=
uel il a une liaison interne. D=E8s lors, qu'entends la norme par =AB an id=
entifier declared to be anything other than [...] a function =BB ? J'avoue =
que je ne vois pas du tout...

Merci d'avance pour vos r=E9ponses.

3 réponses

Avatar
Erwan David
Taurre écrivait :

Bonjour à tous,

En parcourant la norme au sujet de la notion d'identificateur et de
liaison (linkage), je suis tombé sur ce passage (C11 [n1570], § 6.2.2
Linkages of identifiers, al 6, p 37) :

The following identifiers have no linkage:
-- an identifier declared to be anything other than an object or a function ;
-- an identifier declared to be a function parameter ;
-- a block scope identifier for an object declared without the storage-class
specifier extern.



Normalement, un identificateur de fonction a toujours une liaison
externe sauf si sa déclaration est précédée du mot-clé « static »,
auquel il a une liaison interne. Dès lors, qu'entends la norme par «
an identifier declared to be anything other than [...] a function » ?
J'avoue que je ne vois pas du tout...

Merci d'avance pour vos réponses.



AU hasard : un identifiant déclaré par typedef ?

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Erwan David
Taurre écrivait :

Bonjour à tous,

En parcourant la norme au sujet de la notion d'identificateur et de
liaison (linkage), je suis tombé sur ce passage (C11 [n1570], § 6.2.2
Linkages of identifiers, al 6, p 37) :

The following identifiers have no linkage:
-- an identifier declared to be anything other than an object or a function ;
-- an identifier declared to be a function parameter ;
-- a block scope identifier for an object declared without the storage-class
specifier extern.



Normalement, un identificateur de fonction a toujours une liaison
externe sauf si sa déclaration est précédée du mot-clé « static »,
auquel il a une liaison interne. Dès lors, qu'entends la norme par «
an identifier declared to be anything other than [...] a function » ?
J'avoue que je ne vois pas du tout...

Merci d'avance pour vos réponses.



Ben c'est cair : un identifiant d'un truc qui n'est ni une fonction ni
un objet. Je lis ça " anything other than (an object or a function) "


--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Taurre
Hum... En effet, j'ai lu la phrase de travers, au temps pour moi >_<
Merci pour cette réponse rapide et désolé du dérangement.