Oprettet fre. d. 28. november 2008 kl. 14:48:13

challenge
challenge (9.345 point. Point ude: 60)

Array-længde vha. int

Hvorfor vil dette ikke virke?

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    int students = 50, i;

    int score[students];

    for(i = 0; i < students; i++)
    {
        score[i] = i + 1;

        std::cout << score[i] << std::endl;
    }

    system("PAUSE");
    return 0;
}

error C2057: expected constant expression
error C2466: cannot allocate an array of constant size 0
error C2133: 'score' : unknown size

Jeg har slået alle disse op, men kan intet finde. Kildekoden stammer fra en bog om C++.

Skrevet fre. d. 28. november 2008 kl. 14:49:04| #1

challenge
challenge (9.345 point)
Alle fejl ligger i linie 10 ( int score[students]; )

Skrevet fre. d. 28. november 2008 kl. 14:59:55| #2

bitmatic
bitmatic (12.751 point)
bitmatic.com
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    int students = 50, i;

    int* score = new int[students];

    for(i = 0; i < students; i++)
    {
        score[i] = i + 1;

        std::cout << score[i] << std::endl;
    }

    system("PAUSE");
    delete[] score;
    return 0;
}

Skrevet fre. d. 28. november 2008 kl. 15:02:15| #3

bitmatic
bitmatic (12.751 point)
bitmatic.com
Eller:

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    const int students = 50;

    int score[students];

    for(int i = 0; i < students; i++)
    {
        score[i] = i + 1;

        std::cout << score[i] << std::endl;
    }

    system("PAUSE");
    return 0;
}

Skrevet fre. d. 28. november 2008 kl. 15:03:18| #4

challenge
challenge (9.345 point)
Smukt - smid gerne et svar :)

Er dette en ny tilføjelse siden min bog blev skrevet, eller er det blot en dårlig en af slagsen?

Skrevet fre. d. 28. november 2008 kl. 15:04:25| #5

bitmatic
bitmatic (12.751 point)
bitmatic.com
Problemet er (som kompileren også siger) at "students" skal være en konstant, hvis du vil bruge array initialisering på den måde du gør det her.

Skrevet fre. d. 28. november 2008 kl. 15:04:40| #6


Skrevet fre. d. 28. november 2008 kl. 15:11:18| #7

challenge
challenge (9.345 point)
Ok, mange tak for hjælpen :)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Updater Hybrid App

Oprettet den 18. april 2012 kl. 13.29
sir_madsen giver 100 point for svar | Giv et svar »

Ansi-c win32API - kan ikke oprette Richedit4.1 kontrol

Oprettet den 16. april 2012 kl. 22.13
cblcbl giver 60 point for svar | Giv et svar »

Iphone Objective C - Sætte image på et imageview.

Oprettet den 7. april 2012 kl. 11.36
lasserasch giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger