Πρόβλημα κατά την κατάρτιση C με g !

T

Thomson

Guest
γεια,
Παρόλο που έψαξε και κάποιες ιστοσελίδες που αναφέρονται σε ορισμένα έγγραφα, παραμένουν άλυτα τα ακόλουθα προβλήματα ακόμα!

Κωδικός:# include <iostream>

# include <string>

int main ()

(

int λάθη = 0?

str string ( "μια πολύ μεγάλη γραμματική string")?

για (int ix = 0? ix <100000? ix)

(

int len = str.size ()?

string str2 = str?

if (str! = str2)

λάθη?

)

)

δικαστήριο << "class string:"

<<Λάθη << "λάθη \ n"?

)όταν καταρτίζονται με g στο Linux, το followng πληροφορίες συνέβη:"string" λαθραία!
και φυσικά κάποιες άλλες προειδοποιήσεις σχετικά με αυτό το σφάλμα!Και θ ελέγχεται η βιβλιοθήκη έρευνα ότι το g που χρησιμοποιούνται κατά την αναζήτηση των κατ 'αποκοπή βιβλιοθήκη δεν περιέχει το C πρότυπη βιβλιοθήκη, η οποία είναι υπό άλλο κατάλογο!Ωστόσο, όταν θ τροποποιημένα το πρώτο να περιλαμβάνει αρχείο με το "iostream.h", τότε / usr / lib / C βιβλιοθήκη είναι έψαξε το οποίο περιέχει το C πρότυπη βιβλιοθήκη.Μπορεί κανείς να μου πει πώς να λύσει αυτό;Ευχαριστώ εκ των προτέρων!Thomson

 
Δεν μπορείτε να θυμηθείτε, αλλά δεν g να σας ζητήσει να συνδεθεί με το αρχείο string με κάτι σαν "-l ...."Θα προσπαθήσω να μάθω περισσότερα για σας.Προστίθενται μετά από 15 λεπτά:Νομίζω ότι βρήκα μια μερική λύση.

Πρέπει να το χρησιμοποιήσετε namespace

Κωδικός:# include <string>

using namespace std?int main ()

(

string = "Ogg Vorbis Rocks!"?

return 0?

)

 
Χρησιμοποιώντας το namespace για C προγράμματα είναι μια απαίτηση από τον compiler "g ", ώστε να
Θα πρέπει να λέει ρητά η μεταγλωττιστή για τη συγκεκριμένη κατηγορία βρέθηκαν σε συγκεκριμένο όνομα
space.
Γραφής C προγράμματα αυτή δεν είναι η απαίτηση και ο κώδικας δεν εκτελείται κανονικά τη χρήση
των ονομάτων.
Με άλλα λόγια, αν έχετε κάποια φορητότητας C κώδικα από κάποια άλλη compiler να κυκλοφορούν υπό
ζ , θα πρέπει να επεξεργαστείτε τον κώδικα αναλόγως.

 
Νομίζω ότι θα είναι καλύτερα να χρησιμοποιηθεί η δεύτερη λύση, διότι anno using namespace std? περιλαμβάνει όλες τις απαραίτητες βιβλιοθήκες, ενώ std:: θα πει ο compiler να περιλαμβάνει μόνο ένα συγκεκριμένο αντίστοιχη βιβλιοθήκη ...

 
Δοκιμάστε αυτό.Aways προσδιορίζει το πεδίο ονομάτων στην οποία ορίζονται οι ορισμοί αντικείμενο.

# include <iostream>
# include <string>
int main ()
(
int λάθη = 0?
std:: string str ( "μια πολύ μεγάλη γραμματική string"),?
για (int ix = 0? ix <100000? ix)
(
int len = str.size ()?
std:: string str2 = str?
if (str! = str2)
λάθη?
)
)
std:: cout << "class string:"
<<Λάθη << "λάθη \ n"?
)

 

Welcome to EDABoard.com

Sponsor

Back
Top