🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c++
Article #1511

Re: Default Argument Resolving Problem

#1511
From: Steve Clamage
Date: Mon, 31 Jul 1995 17:08
21 lines
1034 bytes
In article 14s3@hrz-ws11.hrz.uni-kassel.de, Ralf Boecker <boecker@hrz.uni-kassel.de> writes:
>
>extern int i = 1;
>extern void f( int x = i );
>extern int main() {
>    i = 2;
>    f(); // == f(2) of course
>    int i = 3; // from now on lokal i hides global i
>    f(); // f(2) or f(3) ?
>}; 
>
>At which point will the *name* of a default argument be resolved?

A default parameter value is bound (e.g., names are resolved) at the location
where the value expression appears.

In your example, the default argument value is always the current
value of the extern 'i'.

---
Steve Clamage, stephen.clamage@eng.sun.com
Technical Details
Message-ID: <3vj2m0$8it@engnews2.Eng.Sun.COM>
Path: arc1-ca.pugleaf.net!engnews2.Eng.Sun.COM!usenet
References: <3vb4t8$14s3@hrz-ws11.hrz.uni-kassel.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!engnews2.Eng.Sun.COM!usenet
From: clamage@Eng.Sun.COM (Steve Clamage)
Newsgroups: comp.std.c++
Subject: Re: Default Argument Resolving Problem
Date: 31 Jul 1995 17:08:16 GMT
Organization: Sun Microsystems Inc.
Message-ID: <3vj2m0$8it@engnews2.Eng.Sun.COM>
References: <3vb4t8$14s3@hrz-ws11.hrz.uni-kassel.de>
Reply-To: clamage@Eng.Sun.COM
NNTP-Posting-Host: taumet.eng.sun.com