<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
El 20/12/10 17:42, Jorge Vega Sanchez escribió:
<blockquote
cite="mid:B6705039-CDF7-4EA4-8219-EB86AE38854F@gmail.com"
type="cite">Buenas
<div><br>
</div>
<div>Tengo una duda que me da en la nariz que es bastante
estúpida. Paso a contarla.</div>
<div>He creado unos métodos para escribir unos mensajes en
ficheros de texto a modo de sistema de logs (muy simple).</div>
<div><br>
</div>
<div>Tengo un fichero con varios metodos</div>
<div><br>
</div>
<div><b><u>metodo.cpp</u></b></div>
<div>-metodo 1</div>
<div>-metodo 2</div>
<div>-metodo 3</div>
<div>...</div>
<div>-metodo principal(basicamente llama a metodo 1, metodo 2 y
demás)</div>
<div><br>
</div>
<div>en el fichero de cabecera ' <u><b>metodo.h</b></u>' solo he
definido el metodo principal --> supongo que no hace falta
definir ninguno que el programa principal solo necesito ver
'metodo principal'</div>
<div><br>
</div>
<div>metodo principal es así <b>" void log(string cadena, int
tipo) "</b></div>
<div><br>
</div>
<div><br>
</div>
<div>Problema al compilar( gcc metodo.h metodo.cpp -c) obtengo el
siguiente error:</div>
<div><br>
</div>
<div>
<div>gestor_logs.h:9: error: variable or field ‘log’ declared
void</div>
<div>gestor_logs.h:9: error: ‘string’ was not declared in this
scope</div>
<div>gestor_logs.h:9: error: expected primary-expression before
‘int’</div>
</div>
<div><br>
</div>
<div>no entiendo el porque pareec que string no esté definido
cuando la librería string está incluida en metodo.cpp.</div>
<div><br>
</div>
<div>Un saludo.</div>
</blockquote>
<br>
Utiliza std::string en vez de string en la declaración. Supongo que
tendrás using namespace std; después de incluir el .h (que es lo
correcto), motivo por el cuál no sabe de qué string estás hablando.<br>
También te aviso, log como nombre de función da problemas a veces
por entrar en conflicto con la función del logaritmo de la
biblioteca matemática. Si empiezas a ver errores extraños sobre
tomar el parámetro como float, es por ella.<br>
<br>
</body>
</html>