Article View: de.comp.lang.c++
Article #1428Re: void* - Felder
From: Claus Faerber
Date: Sun, 28 Jan 1996 10:12
Date: Sun, 28 Jan 1996 10:12
54 lines
2073 bytes
2073 bytes
Andrea Hermann <hermann@ipf.bau-verm.uni-karlsruhe.de> schrieb zu
void* - Felder
in Artikel <3109142F.41C67EA6@ipf.bau-verm.uni-karlsruhe.de> vom 26.01.96:
> Hi,
> ich habe hier ein Programmfragment, von dem ich nicht weiss,
> wieso es nicht tut:
>
> int main()
> {
> void* feld;
> int typ;
>
> // typ = 1 fuer int, 2 fuer double,...
>
> switch( typ )
> {
> case 1: f = ( void* ) new int[n];
> for( int i = 0; i < n; i++ )
> ein >> (int)f[i];
// Du nimmst f[i], also das i-te Byte
// und konvertierst es nach int.
// Du muesstest also:
((int*)f)[i]
// schreiben, dann wird der Zeiger zuerst
// nach int* konvertiert und dann der
// i-te int genommen
// Anmerkung: du solltest den Zeiger dann
// auch mit delete [] ((int*)feld)
// freigeben.
> break;
>
> // andere Faelee
> }
> return 0;
> }
>
> Prinzipiell soll das Teil n Werte aus einer Datei lesen, deren
> Typ in der Variablen typ verschluesselt ist und zur Laufzeit eingelesen
> wird. Aber irgendwie rafft er nicht, dass das jetzt ein int-Feld ist...
>
> Andrea
Claus
------------------------------------------------------------------------
Claus Andre Faerber - claus@faerber.muc.de - http://www.muc.de/~cfaerber
Information at your fingertips - Wasserfeste Druckerfarbe an den Haneden
------------------------------------------------------------------------
Technical Details
Message-ID:
<61iBWx6JcDB@faerber.muc.de>Path:
arc1-ca.pugleaf.net!faerber.muc.de!clausReferences:
<3109142F.41C67EA6@ipf.bau-verm.uni-karlsruhe.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!faerber.muc.de!claus Date: 28 Jan 1996 11:12:00 +0100 From: claus@faerber.muc.de (Claus Faerber) Newsgroups: de.comp.lang.c++ Message-ID: <61iBWx6JcDB@faerber.muc.de> References: <3109142F.41C67EA6@ipf.bau-verm.uni-karlsruhe.de> Subject: Re: void* - Felder X-Newsreader: CrossPoint v3.1 R/B17071 Distribution: world