Προς το περιεχόμενο

Ερωτηση C++ για ορισμο string


lolek

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας.

Εχω ενα αρχείο functions.cpp στο οποίο ορίζω τις συναρτησεις και τους constructors

του προγραμματος μου.Εχω επίσης ενα αρχειο main.cpp για την main στο οποιο

εκτος των αλλων έχω ορίσει και εναν δισδιαστατο πινακα απο strings (string Board[N][N];)

O ορισμος αυτού του πίνακα ειναι σωστος.Το προβλημα ειναι οτι επειδή τον χρησιμοποιώ

και στο functions.cpp οταν πάω να τον ορίσω μου βγάζει το εξής λάθος:

"array bound is not an integer constant before ']' token"

Μπορεί κάποιος να με διαφωτίσει?Τί φταίει?Οτι δεν υπάρχει η main()?

Δημοσ.

Νομίζω εφοσον δεν εχει σταθερό μήκος ο πίνακας σου πρεπει να δηλωθεί με new.

 

 

Τότε στη main γιατι δουλευει χωρίς new?

Αν εννοεις αυτο:string* Board = new string [N][N];

δεν δουλεψε.

:mellow: tnx

Δημοσ.

Τότε στη main γιατι δουλευει χωρίς new?

Αν εννοεις αυτο:string* Board = new string [N][N];

δεν δουλεψε.

:mellow: tnx

 

Δεν μπορείς να κάνεις έτσι τον ορισμό δισδιάστατου πίνακα...

Πρέπει να κάνεις new την μία διάσταση και μετά για κάθε στοιχείο της μίας να κάνεις new την άλλη διάσταση...

>string** Board; //Δημιουργία δισδιάστατου πίνακα (pointer σε pointer)
Board = new string* [N];//Ορισμός της πρώτης διάστασης
for(int i=0; i<N; ++i)
  Board[i] = new string [N];//Ορισμός δεύτερης διάστασης για κάθε στοιχείο του πίνακα.

Δημοσ.

συγγνώμη παιδια που δεν το ειπα πριν , ο πινακας εχει σταθερό μέγεθος.ξεχασα οτι το μεγεθος το

παιρνει απο ενα αρχειο .txt.σορυ και παλι που σας παραπληροφόρησα.Παντως τελικα δεν χρειαζοταν

τον ορισμο του string στo function.cpp και δουλευει.Τώρα αν χρειαστεί στο μέλλον που μάλλον θα χρειαστει

βλεπουμε ή μου λετε και τωρα κάποια γνώμη.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...