🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #9735

Re: CC probleem..

#9735
From: Andy Goossens
Date: Wed, 10 Apr 2002 08:17
40 lines
2574 bytes
Tim Fooy wrote:
> Iemand een idee wat CC hier fout aan vindt en wat eraan te doen valt?...
> Ik heb bv de procedure:
> void test(int dimensie)
> {
>     double v[dim];
>     // rest vd body
> }
> 
> En dat geeft als error:
> Error: An integer constant expression is required within the array
> subscript operator.
> g++ maakt hier geen probleem van.
> 
> Ik hoop dat ik hier iets stom over het hoofd zie...

Hier is een zeer logische verklaring voor:

Normaal gezien moet je steeds een getal geven om aan te duiden hoe groot die 
array nu juist is. Bvb: double v[10] Dit is de correcte manier om het te 
doen.

De GNU C(++) tools zoals we die o.a. kennen van Linux, die hebben ook 
diezelfde werkwijze. MAAR: Die hebben een extensie in de C compiler 
ingebouwd, dat je die grootte van de array kan bepalen door een variabele. 
Dit is wat jij nu probeert te doen.

Als je dit stukje code compileert met de GNU compiler, dan is er geen 
probleem. Probeer je dit met een compiler die deze extensie niet heeft, dan 
krijg je een foutmelding. De enige manier om het correct te doen in C, is 
om een _echte_ numerieke waarde aan te duiden voor die array.

Als je toch de array een willekeurige grootte wil laten aanmeten, dan moet 
je dynamische arrays gebruiken. Maar ik vermoed dat dit nu een beetje te 
ver gaat om uit te leggen.

-- 
Andy Goossens -- andygoossens at softhome dot net

"Use the Source, Luke..."
Technical Details
Message-ID: <UySs8.8873$Ze.2707@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!peer1-sjc1.usenetserver.com!usenetserver.com!newsfeed1.cidera.com!Cidera!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <iuKs8.8678$Ze.2797@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,12673ae89a2effe0
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-04-10 01:18:03 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!peer1-sjc1.usenetserver.com!usenetserver.com!newsfeed1.cidera.com!Cidera!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Andy Goossens <andygoossens@softhome.net>
Subject: Re: CC probleem..
Newsgroups: be.comp.programming
References: <iuKs8.8678$Ze.2797@afrodite.telenet-ops.be>
Lines: 40
User-Agent: KNode/0.7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
X-Message-Flag: You are using Microsoft Outlook. You are risking your valuable data!
Message-ID: <UySs8.8873$Ze.2707@afrodite.telenet-ops.be>
Date: Wed, 10 Apr 2002 08:17:56 GMT
NNTP-Posting-Host: 213.118.99.165
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1018426676 213.118.99.165 (Wed, 10 Apr 2002 10:17:56 MET DST)
NNTP-Posting-Date: Wed, 10 Apr 2002 10:17:56 MET DST
Organization: Telenet Internet