Star_Light Δημοσ. 11 Ιανουαρίου 2014 Δημοσ. 11 Ιανουαρίου 2014 Δεν ειναι έγκυρο να δηλώσουμε και να δώσουμε τιμή σε μια external? γιατι ο μεταγλωτιστης μου πετάει ο ένας error σε αυτο και άλλος warning? extern int v = 0; ισοδυναμε με int v = 0; ??? μπορει να δώσει κάποιος ένα παράδειγμα τι εννοει οταν λέει : This rule prevents multiple extern declarations from initializing a variable in different ways. ??? ο rule ειναι ουσιαστικα αυτο που έδωσα πριν. Οτι εδω μπορουμε να έχουμε και δήλωση και ορισμό μαζί.
παπι Δημοσ. 11 Ιανουαρίου 2014 Δημοσ. 11 Ιανουαρίου 2014 Αφου ειναι extern. Πως στο καλο θα το κανεις init σε δυο σημεια;;;
Star_Light Δημοσ. 11 Ιανουαρίου 2014 Μέλος Δημοσ. 11 Ιανουαρίου 2014 Αφου ειναι extern. Πως στο καλο θα το κανεις init σε δυο σημεια;;; Αυτο εδώ κτυπάει : #include<stdio.h> extern int v = 0; int main(void) { return 0; } |warning: 'v' initialized and declared 'extern'| ||=== Build finished: 0 errors, 1 warnings ===| btw έχω 1 warning και κανένα error sorry εκανα λάθος στην αρχή.
Star_Light Δημοσ. 11 Ιανουαρίου 2014 Μέλος Δημοσ. 11 Ιανουαρίου 2014 τι ειναι τουτο; Aπλα αναρωτιέμαι γιατι δινει προειδοποιηση ο μεταγλωτιστης.
Star_Light Δημοσ. 11 Ιανουαρίου 2014 Μέλος Δημοσ. 11 Ιανουαρίου 2014 τι ειναι τουτο; http://ideone.com/zVdk7q Ωραια ειναι μια δηλωση που πληροφορει τον μεταγλωτιστη οτι θα υπάρξει κάπου αλλού μια μεταβλητή αυτου του τύπου που θα ορισθεί. Δεν ειναι ο ορισμος της δηλαδη αυτος αλλα υπάρχει μια εξαίρεση στην οποια μπορει να ειναι και δήλωση και ορισμός στην περιπτωση που έδειξα. Ετσι δεν ειναι?
migf1 Δημοσ. 12 Ιανουαρίου 2014 Δημοσ. 12 Ιανουαρίου 2014 Γενικώς δεν έχει νόημα να αρχικοποιείς μια extern μεταβλητή. Και λογικά να το πάρεις, η αρχικοποίηση είναι άμεσα συνυφασμένη με τον ορισμό μιας μεταβλητής. Η εντολή extern λέει ακριβώς το αντίθετο στον compiler, ότι δηλαδή η συγκεκριμένη μεταβλητή ΔΕΝ έχει οριστεί στο παρόν scope (αλλά σε κάποιο άλλο). 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα