Problema durante la compilazione di C , con g !

T

Thomson

Guest
salve,
Sebbene cercato alcuni siti web e di cui alcuni documenti, i seguenti problemi sono rimasti irrisolti ancora!

Codice:# include <iostream>

# include <string>

int main ()

(

int errore = 0;

string str ( "una stringa molto lunga letterale");

for (int ix = 0; ix <100000; ix)

(

int len = str.size ();

string str2 = str;

if (str! = str2)

errori;

)

)

cout << "classe String:"

<<Errori << "si sono verificati errori \ n";

)quando compilato con g sotto Linux, le informazioni followng si è verificato:"stringa" sommerso!
e naturalmente alcune altre avvertenze relative a questo errore!E ho controllato la biblioteca di ricerca che il g utilizzato durante la ricerca della libreria standard non contiene la libreria C standard, che è sotto un'altra directory!Tuttavia, quando i modifed il primo include file "iostream.h", quindi / usr / lib / libreria C è cercato, che contiene la libreria C standard.Qualcuno può dirmi come risolvere questo problema?Grazie in anticipo!Thomson

 
Può non ricordare, ma non g richiedono di collegamento al file stringa con qualcosa come "-l ...."Cercherò di saperne di più per voi.Aggiunto dopo 15 minuti:Credo di avere trovato una soluzione parziale.

You gotta use namespace

Codice:# include <string>

using namespace std;int main ()

(

stringa = "Ogg Vorbis Rocks!";

return 0;

)

 
Utilizzando lo spazio dei nomi per i programmi C è un requisito dal compilatore "g " in modo da
saranno esplicitamente dire al compilatore sulla classe specifica trovati in nome specifico
spazio.
Per scrivere programmi in C questo non è l'obbligo e il codice di funzionare normalmente, senza l'uso
di namespace.
In altre parole se si porting qualche codice C da qualche altro compilatore per l'esecuzione con
g , è necessario modificare il codice di conseguenza.

 
Credo che sarà meglio usare la soluzione secondo anno perché using namespace std; tutte le librerie necessarie, mentre std:: dirà al compilatore di includere solo una biblioteca specifica rispettivi ...

 
Try this.Aways specificare il namespace in cui le definizioni degli oggetti sono definiti.

# include <iostream>
# include <string>
int main ()
(
int errore = 0;
std:: string str ( "una stringa molto lunga letterale");
for (int ix = 0; ix <100000; ix)
(
int len = str.size ();
std:: string str2 = str;
if (str! = str2)
errori;
)
)
std:: cout << "classe String:"
<<Errori << "si sono verificati errori \ n";
)

 

Welcome to EDABoard.com

Sponsor

Back
Top