Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

14.02.2006, 22:43

Problem mit Array

Hallo,

C-/C++-Quelltext

1
2
3
4
int punkte[18];

punkte[0] = 3;
punkte[1] = 4;


Ich weiß nicht was ich hier falsch mache.

Es gibt folgende Fehlermeldungen:

(14) : error C2466: Reservierung eines Feldes der konstanten Groesse 0 nicht moeglich
(14) : error C2501: 'punkte' : Fehlende Speicherklasse oder Typbezeichner
(14) : error C2086: 'punkte' : Neudefinition
(14) : error C2440: 'initializing' : 'const int' kann nicht in 'int []' konvertiert werden
Es gibt keine Konvertierungen von Feldtypen, obwohl es Konvertierungen von Verweisen oder Zeigern in Felder gibt

Zeile 14 ist: "punkte[0] = 3;"

Die gleichen Fehlermeldungen bekomm ich auch in Zeile 15 jedoch ohne error C2466.

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

14.02.2006, 23:35

da ist an sich nichts falsch. poste bitte mal die komplette funktion in der das passiert.

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

3

14.02.2006, 23:35

benutzt du die neuen visual studios 2005 express.
wenn ja dann kennt der glaub ich kein int mehr.
schreib mal:

C-/C++-Quelltext

1
2
3
4
long punkte[18];

punkte[0] = 3;
punkte[1] = 4; 
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

14.02.2006, 23:36

also bei mir kennt er int 8)

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

5

14.02.2006, 23:38

Zitat von »"Spik)evil("«

also bei mir kennt er int 8)
echt ich hab sowas mal gelesen... hier im forum

ka ich benutz die im mom noch nicht. irgendwann werd ich se mal installieren aber im augenblick bin ich einfach zu faul ;)
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

7

14.02.2006, 23:42

Zitat von »"Lemming"«

echt ich hab sowas mal gelesen... hier im forum

Das verwechselst du was.. entweder du meinst, dass int nicht mehr als default typ erkannt wird, oder dass man int nicht benutzen sollte weil die bitzahl nicht im standard definiert wird (nur die von short und long).. egal, ich kann das jedenfalls kompilieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
#include <windows.h>

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
    int punkte[18];

    punkte[0] = 3;
    punkte[1] = 4; 
}

(und in der Konsole gehts auch)

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

8

15.02.2006, 10:44

bei mir klappt auch alles

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>

int main()
{
    int punkte[18]; 

    punkte[0] = 3; 
    punkte[1] = 4;
    punkte[2] = 2;
    punkte[3] = 1;
    punkte[4] = 6;

    for(int i=0; i < 5; i++)
    {
        std::cout << punkte[i] << std::endl;
    }

    return 0;
}
Ausgabe:

Quellcode

1
2
3
4
5
3
4
2
1
6

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

9

15.02.2006, 10:53

ich würde eher sagen da ist was bei der insstallation fehlgeschlagen. Hat includes vergessen oder was weiss ich. Normalerweise ist sowas doch in types.h oder so was definiert... such die mal!

probier mal ob

C-/C++-Quelltext

1
__int32
geht...

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

15.02.2006, 11:28

Ich glaube ja eher, dass er seinen Code-Block außerhalb jeglicher Funktionen hat, denn laut der Fehlermeldung meckert der Compiler, dass der ein Array der Größe 0 nicht anlegen kann und dass es sich um eine Neudefinition handelt. Das erstere "int punkte[18];" ist also längst abgearbeitet und funktioniert. Beim "punkte[0] = 3;" denkt der Compiler dann, dass es sich um eine weitere Definition handeln soll, da es -- nach meinem Verständnis -- außerhalb einer Funktion ist und dort kein richtiger ausführbarer Code zu finden ist, es sich also nur um eine Deklaration handeln kann...

Werbeanzeige