Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » void Zeiger Array

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.11.2003, 00:55 Uhr
~Sebastian23
Gast


Hallo habe folgendes Problem Wer weiss wass ich falsch mache:


C++:
void main(void)
{
   void* a[3];
   for(int i=0;i<3;i++)
   {
    a[i] = 0;
    }
   WORD a = 3;
   BYTE  cmd = 0x05;
   BYTE  scmd = 0x80;
  
   a[1] = &a;
   a[2] = &cmd;
   a[3] = &scmd;

   printf("%d",*a[1]);    //<- Fehler
}



Über eine schnelle Hilfe würde ich mich freuen. Danke

--edit: Pablo. [ cpp ] tags gesetzt --

Dieser Post wurde am 11.11.2003 um 01:07 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.11.2003, 01:11 Uhr
Pablo
Supertux
(Operator)


Erstens, du hast ins ANSI C/C++ gepostet, also muss int main sein.

printf kann nicht gefunden werden, weil du stdio.h nicht eingebunden hast.

Du kannst nicht 2 Variablen mit dem selben Namen deklarieren. Ich kenne WORD nicht. Was ist denn WORD, wo ist denn das definiert? ich würde sagen, da liegt der Fehler.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.11.2003, 07:14 Uhr
Tommix



'Morgen,
Du kannst einen void* nicht dereferenzieren, weil der Compiler nicht weiss, wieviele Bytes er denn nun nehmen soll.

C++:
#include <stdio.h>

int main(void)
{
   void* a[3];
   for(int i=0;i<3;i++)
   {
    a[ i ] = 0;
    }
   WORD w = 3;
   BYTE  cmd = 0x05;
   BYTE  scmd = 0x80;
  
   a[1] = &w;
   a[2] = &cmd;
   a[3] = &scmd;

   printf("%d",*((WORD*)a[1]));  

   retrun 0;
}



Gruss, Tommix


Bearbeitung:

Nachtrag: Ich sehe gerade, dass es a[0], a[1], a[2] heissen muss!


Dieser Post wurde am 11.11.2003 um 07:16 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.11.2003, 20:44 Uhr
~sebastian23
Gast


Hallo. Danke für die schnelle Hilfe. Und sorry wenn ich das ins falsche Forum gepostet habe, war mein erstes mal.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.11.2003, 21:02 Uhr
~Gast
Gast


Außerdem hat a[3] nur 3 Elemente und zählt von 0 an.


C++:

   a[0] = &w;
   a[1] = &cmd;
   a[2] = &scmd;

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: