Article View: be.comp.programming
Article #9735Re: CC probleem..
From: Andy Goossens
Date: Wed, 10 Apr 2002 08:17
Date: Wed, 10 Apr 2002 08:17
40 lines
2574 bytes
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-mailReferences:
<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