28. november 2008 - 14:48
Der er
6 kommentarer og 1 løsning
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++.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
28. november 2008 - 14:49
#1
Alle fejl ligger i linie 10 ( int score[students]; )
28. november 2008 - 14:59
#2
#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; }
28. november 2008 - 15:02
#3
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; }
28. november 2008 - 15:03
#4
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?
28. november 2008 - 15:04
#5
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.
28. november 2008 - 15:04
#6
:)
28. november 2008 - 15:11
#7
Ok, mange tak for hjælpen :)
Kurser inden for grundlæggende programmering