<!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>