Problema al compilar C con g !

T

Thomson

Guest
hola,
Aunque buscado algunos sitios web y se refirió a algunos documentos, los siguientes problemas siguen sin resolverse todavía!

Código:# include <iostream>

# include <string>

int main ()

(

int errores = 0;

string cadena ( "un literal de cadena muy larga");

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

(

int len = str.size ();

string str2 = str;

if (str! = str2)

errores;

)

)

cout << "cadena de clase:"

<<Errores << "se han producido errores \ n";

)cuando se compila con g en Linux, la información followng ocurrido:"cadena" no declarado!
y por supuesto algunas otras advertencias relacionadas con este error!Y he comprobado la biblioteca de búsqueda que el g usado cuando se busca la biblioteca estándar no contiene la librería C estándar, que está en otro directorio!Sin embargo, cuando modifed el primer archivo de inclusión de "iostream", y luego / usr / lib / C es buscado que contiene la librería C estándar.¿Alguien puede decirme cómo solucionar esto?Gracias por adelantado!Thomson

 
Apple Pay to rozwiązanie które w założeniu ma uprościć płatności bezgotówkowe. Eksperci Sophos już teraz głośno zastanawiają się nad bezpieczeństwem tego produktu firmy z Cupertino.

Read more...
 
No recuerdo, pero no g requieren el vínculo al archivo de cadena con algo así como "-l ...."Voy a tratar de saber más para usted.Añadido después de 15 minutos:Creo que he encontrado una solución parcial.

Tienes que utilizar espacio de nombres

Código:# include <string>

using namespace std;int main ()

(

cadena = "Ogg Vorbis Rocks!";

return 0;

)

 
Uso del espacio de nombres para programas C es un requisito por el compilador de "g " por lo que
se explícitamente le indica al compilador acerca de la clase específica que se encuentra en el nombre específico
espacio.
Para escribir programas en C no se trata de la exigencia y la ejecución de código normalmente sin el uso de
de espacio de nombres.
En otras palabras, si está adaptando algunos de código C de algunos otro compilador que se ejecutan bajo
g , es necesario modificar el código en consecuencia.

 
Creo que será mejor utilizar la segunda solución anno porque using namespace std; incluyen todas las librerías, mientras que std:: le indica al compilador para incluir sólo una biblioteca específica respectivos ...

 
Try this.Sugerencias del chef especificar el espacio de nombres en el que se definen las definiciones de objetos.

# include <iostream>
# include <string>
int main ()
(
int errores = 0;
std:: string cadena ( "un literal de cadena muy larga");
for (int ix = 0; ix <100000; ix)
(
int len = str.size ();
std:: string str2 = str;
if (str! = str2)
errores;
)
)
std:: cout << "cadena de clase:"
<<Errores << "se han producido errores \ n";
)

 

Welcome to EDABoard.com

Sponsor

Back
Top