elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error de variable was declared but never referenced
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error de variable was declared but never referenced  (Leído 2,707 veces)
arturoro

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Error de variable was declared but never referenced
« en: 20 Mayo 2012, 20:03 pm »

Hola a todos:

Espero me puedan ayudar ya que no he podido ver porque me manda el error a la hora de compilar, es un archivo de cabezera llamado modifico.h que tiene lo siguiente a grandes rasgos:

#ifndef SCANNER_H
#define SCANNER_H

#include "main.h"
#include "net/net.h"
#include "util/log.h"
#include "sniffer.h"

#include <cstring>
#include <set>

class Scanner
{
private:
.
.
 u16 port_idx;
.
.

// Initializa el valor
port_idx = 0;
.
.
.
.

}
inline void scan()
{

static u16 port_idx[] = {1, 2, 3, 5, 7, 9, 11, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 35, 37, 39,
41, 42, 43, 47, 49, 50, 51, 52, 53, 54, 56, 58, 70, 79, 80, 83, 88, 90, 101, 102,
104, 105, 107, 108, 109, 110, 111, 113, 113, 115, 117, 118, 119, 135, 137, 138, 139, 143, 152, 153,
156, 162, 170, 177, 179, 194, 199, 201, 209, 210, 213, 218, 220, 259, 264, 308, 311, 318, 350, 351,
366, 369, 371, 383, 384, 387, 389, 401, 427, 443, 444, 445, 464, 475, 497, 504, 512, 513, 514, 515,
520, 524, 530, 532, 540, 542, 543, 544, 546, 547, 548, 554, 556, 563, 587, 591, 593, 604, 631, 635,
636, 639, 641, 646, 647, 648, 653, 654, 657, 660, 674, 691, 692, 694, 695, 699, 700, 701, 702, 706,
711, 712, 749, 750, 751, 752, 753, 754, 760, 860, 873, 902, 989, 990, 991, 992, 993, 995, 1058,
1080, 1085, 1098, 1099, 1140, 1169, 1176, 1182, 1194, 1198, 1200, 1214, 1220, 1223, 1241, 1270, 1293, 1337, 1352, 1387,
1414, 1417, 1418, 1419, 1420, 1431, 1433, 1470, 1494, 1512, 1513, 1521, 1524, 1533, 1547, 1677, 1720, 1723, 1755, 1761,
1762, 1763, 1764, 1765, 1766, 1767, 1768, 1801, 1812, 1813, 1863, 1935, 1947, 1970, 1971, 1972, 1984, 1994, 1998, 2000,
2031, 2053, 2073, 2074, 2082, 2083, 2086, 2102, 2103, 2104, 2105, 2144, 2145, 2161, 2181, 2210, 2211, 2212, 2219, 2220,
2261, 2262, 2369, 2370, 2404, 2447, 2483, 2484, 2500, 2612, 2713, 2714, 2735, 2809, 2868, 2947, 2948, 2949, 3050, 3051,
3074, 3225, 3233, 3235, 3260, 3268, 3269, 3283, 3305, 3306, 3386, 3389, 3396, 3412, 3455, 3423, 3424, 3478, 3483, 3516,
3532, 3533, 3606, 3632, 3689, 3690, 3702, 3880, 3868, 3900, 3945, 3999, 4018, 4089, 4093, 4096, 4111, 4116, 4321, 4662,
4728, 4840, 4843, 4847, 4993, 4894, 4899, 4950, 5000, 5001, 5003, 5004, 5005, 5051, 5060, 5061, 5070, 5084, 5085, 5099,
5151, 5154, 5190, 5222, 5269, 5298, 5351, 5355, 5402, 5405, 5421, 5432, 5556, 5631, 5814, 5900, 5984, 5999, 6000, 6005,
6086, 6110, 6111, 6112, 6129, 6346, 6347, 6350, 6432, 6444, 6445, 6619, 6665, 6666, 6667, 6668, 6669, 6888, 6969, 7005,
7006, 7400, 7401, 7402, 7547, 7787, 7788, 8000, 8008, 8078, 8080, 8118, 8123, 8243, 8280, 8400, 8442, 8880, 8888, 9009,
9080, 9100, 9105, 9119, 9306, 9312, 9418, 9535, 9536, 9800, 9898, 9996, 10008, 10010, 10050, 10051, 10113, 10114, 10115,
10116, 13076, 13720, 13721, 13724, 13782, 13783, 13785, 13786, 15000, 15345, 17500, 18104, 19283, 19315, 22347, 22350,
24465, 24554, 26000, 31457, 33434, 40000, 43047, 43048, 47808};

segment->source_port = port_idx; //ports[port_idx];


if (port_idx >= 65535)
{
.
.
.
.
.
}
port_idx++;
}
};

#endif

Y el error consiste que al compilarlo me manda el siguiente mensaje:

variable "port_idx" was declared but never referenced

Yo se que este error se debe a que no declare la variable antes, pero lo hago (y debido a esto los siguientes errores de lo mismo se arreglan) y no se que ocurre, me podrian ayudar??


GRACIAS DE ANTEMANO!!!


En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: Error de variable was declared but never referenced
« Respuesta #1 en: 20 Mayo 2012, 20:22 pm »

La traducción literal de "variable "port_idx" was declared but never referenced" es variable port_idx declarada , pero nunca referenciada, y tiene más pinta de warning que de cualquier otra cosa ... deberías postear todo el código para intentar compilarlo y ver que errores da ....


En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
exel

Desconectado Desconectado

Mensajes: 50



Ver Perfil
Re: Error de variable was declared but never referenced
« Respuesta #2 en: 20 Mayo 2012, 20:35 pm »

 No tengo nocion de C++, pero veo algo extraño al final:

Código:
if (port_idx >= 65535)
{
.
.
.
.
.
}
port_idx++;
}
};

ten en cuenta que estas hablando de una direccion de memoria cuando utilizas port_idx, y como es un arreglo pues port_idx++; es una instruccion ilegal.

 Otra cosa que veo raro es la llave de cierre } arriba de inline void scan()
En línea

arturoro

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Error de variable was declared but never referenced
« Respuesta #3 en: 20 Mayo 2012, 21:13 pm »

Envio el contenido completo del archivo:

#ifndef SCANNER_H
#define SCANNER_H

#include "main.h"

#include <cstring>
#include <set>


#define SCANNER_PADSIZE   0
#define SCANNER_FRAMESIZE (sizeof(Ethernet_FrameHeader) + sizeof(IP_PacketHeader) + sizeof(TCP_SegmentHeader) + SCANNER_PADSIZE)


class Scanner
{
private:
  Sniffer *sniffer;
  Ticker scan_timer;
  Timeout scan_timeout;
 
  u8 raw_frame[SCANNER_FRAMESIZE];
 
  IP_Address destip;
  u16 port_idx;
  u16 pseudo_checksum;
 
  set<u16> open_ports;
 
  LocalFileSystem local;

public:

  inline Scanner(Sniffer *_sniffer)
  : sniffer(_sniffer), local("local")
  {
    sniffer->attach_tcp(this, &Scanner::handle_tcp);
  }
 

  inline void handle_tcp(TCP_SegmentHeader *packet, u32 data_bytes)
  {
    if (packet->syn && packet->ack)
    {
      open_ports.insert(packet->source_port);
    }
  }
 

  inline void finish()
  {
    FILE *fp = fopen("/local/PortScan.txt", "w");
    fprintf(fp, "Open Ports on %d.%d.%d.%d:\n", destip.octet[0], destip.octet[1], destip.octet[2], destip.octet[3]);
    for (set<u16>::iterator iter = open_ports.begin(); iter != open_ports.end(); ++iter)
    {
      fprintf(fp, "  TCP:%-5d OPEN\n", *iter);
    }
    fclose(fp); 
   
    main_log.printf("Open ports:");
    for (set<u16>::iterator iter = open_ports.begin(); iter != open_ports.end(); ++iter)
    {
      main_log.printf("  TCP:%-5d OPEN", *iter);
    }
    main_log.printf("Port scan complete.");
  }
 

  inline void start(Ethernet_MAC src, Ethernet_MAC dst, IP_Address srcip, IP_Address dstip)
  {

    static Ethernet_FrameHeader *frame = (Ethernet_FrameHeader*)raw_frame;
    static IP_PacketHeader *packet = (IP_PacketHeader*)frame->payload;
    static TCP_SegmentHeader *segment = (TCP_SegmentHeader*)packet->data;
   
    destip = dstip;
    main_log.printf("Starting TCP port scan of %d.%d.%d.%d...", dstip.octet[0], dstip.octet[1], dstip.octet[2], dstip.octet[3]);
   

    memset(raw_frame, '\0', SCANNER_FRAMESIZE);
   
    frame->destination = dst;
    frame->source = src;
    frame->ethertype = ETHERTYPE_IPV4;
   

    packet->source = srcip; // Can't change with destination back-to-back? lol
    packet->version = 0x04;
    packet->header_bytes_div4 = 5; // *4 = 20
    packet->packet_bytes = SCANNER_FRAMESIZE-sizeof(Ethernet_FrameHeader);
    packet->ttl = 64;
    packet->protocol = IPPROTO_TCP;
    packet->destination = dstip;
   

    segment->sequence_number = 0xBADBEEF0;
    segment->data_offset_bytes_div4 = sizeof(TCP_SegmentHeader)/4;
    segment->syn = 1;
    segment->window_size = 8192;
    pseudo_checksum = pseudo_header_checksum(srcip, dstip, sizeof(TCP_SegmentHeader));
   

    port_idx = 0;
   
    open_ports.clear();
    scan_timer.attach_us(this, &Scanner::scan, 50);

  }
 

  inline void scan()
  {

    static u16 port_idx [] = {1, 2, 3, 5, 7, 9, 11, 13, 17, 18, 19, 20, 21, 22, 23, 24, 25, 35, 37, 39,
      41, 42, 43, 47, 49, 50, 51, 52, 53, 54, 56, 58, 70, 79, 80, 83, 88, 90, 101, 102,
      104, 105, 107, 108, 109, 110, 111, 113, 113, 115, 117, 118, 119, 135, 137, 138, 139, 143, 152, 153,
      156, 162, 170, 177, 179, 194, 199, 201, 209, 210, 213, 218, 220, 259, 264, 308, 311, 318, 350, 351,
      366, 369, 371, 383, 384, 387, 389, 401, 427, 443, 444, 445, 464, 475, 497, 504, 512, 513, 514, 515,
      520, 524, 530, 532, 540, 542, 543, 544, 546, 547, 548, 554, 556, 563, 587, 591, 593, 604, 631, 635,
      636, 639, 641, 646, 647, 648, 653, 654, 657, 660, 674, 691, 692, 694, 695, 699, 700, 701, 702, 706,
      711, 712, 749, 750, 751, 752, 753, 754, 760, 860, 873, 902, 989, 990, 991, 992, 993, 995, 1058,
      1080, 1085, 1098, 1099, 1140, 1169, 1176, 1182, 1194, 1198, 1200, 1214, 1220, 1223, 1241, 1270, 1293, 1337, 1352, 1387,
      1414, 1417, 1418, 1419, 1420, 1431, 1433, 1470, 1494, 1512, 1513, 1521, 1524, 1533, 1547, 1677, 1720, 1723, 1755, 1761,
      1762, 1763, 1764, 1765, 1766, 1767, 1768, 1801, 1812, 1813, 1863, 1935, 1947, 1970, 1971, 1972, 1984, 1994, 1998, 2000,
      2031, 2053, 2073, 2074, 2082, 2083, 2086, 2102, 2103, 2104, 2105, 2144, 2145, 2161, 2181, 2210, 2211, 2212, 2219, 2220,
      2261, 2262, 2369, 2370, 2404, 2447, 2483, 2484, 2500, 2612, 2713, 2714, 2735, 2809, 2868, 2947, 2948, 2949, 3050, 3051,
      3074, 3225, 3233, 3235, 3260, 3268, 3269, 3283, 3305, 3306, 3386, 3389, 3396, 3412, 3455, 3423, 3424, 3478, 3483, 3516,
      3532, 3533, 3606, 3632, 3689, 3690, 3702, 3880, 3868, 3900, 3945, 3999, 4018, 4089, 4093, 4096, 4111, 4116, 4321, 4662,
      4728, 4840, 4843, 4847, 4993, 4894, 4899, 4950, 5000, 5001, 5003, 5004, 5005, 5051, 5060, 5061, 5070, 5084, 5085, 5099,
      5151, 5154, 5190, 5222, 5269, 5298, 5351, 5355, 5402, 5405, 5421, 5432, 5556, 5631, 5814, 5900, 5984, 5999, 6000, 6005,
      6086, 6110, 6111, 6112, 6129, 6346, 6347, 6350, 6432, 6444, 6445, 6619, 6665, 6666, 6667, 6668, 6669, 6888, 6969, 7005,
      7006, 7400, 7401, 7402, 7547, 7787, 7788, 8000, 8008, 8078, 8080, 8118, 8123, 8243, 8280, 8400, 8442, 8880, 8888, 9009,
      9080, 9100, 9105, 9119, 9306, 9312, 9418, 9535, 9536, 9800, 9898, 9996, 10008, 10010, 10050, 10051, 10113, 10114, 10115,
      10116, 13076, 13720, 13721, 13724, 13782, 13783, 13785, 13786, 15000, 15345, 17500, 18104, 19283, 19315, 22347, 22350,
      24465, 24554, 26000, 31457, 33434, 40000, 43047, 43048, 47808};
   

    static Ethernet_FrameHeader *frame = (Ethernet_FrameHeader*)raw_frame;
    static IP_PacketHeader *packet = (IP_PacketHeader*)frame->payload;
    static TCP_SegmentHeader *segment = (TCP_SegmentHeader*)packet->data;
   
    segment->source_port = port_idx; //ports[port_idx];
    segment->destination_port = port_idx; //ports[port_idx];
   
    fix_endian_tcp(segment);
    segment->checksum = checksum(segment, sizeof(TCP_SegmentHeader), &segment->checksum, sizeof(segment->checksum), pseudo_checksum);
   
    fix_endian_ip(packet);
    packet->header_checksum = checksum(packet, sizeof(IP_PacketHeader), &packet->header_checksum, sizeof(packet->header_checksum));
   
    fix_endian_ethernet(frame);
    sniffer->inject(frame, SCANNER_FRAMESIZE);
   
    fix_endian_ethernet(frame);
    fix_endian_ip(packet);
    fix_endian_tcp(segment);
   

    segment->sequence_number++;
   

    if (port_idx >= 65535)
    {
      scan_timer.detach();
      scan_timeout.attach(this, &Scanner::finish, 7);
    }
    port_idx++;
  }
};

#endif


Y cuando compilo, me manda error de que la variable no esta declarada, pero, si lo hago como pueden ver.


GRACIAS DE ANTMANO !!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
error al hacer una variable
PHP
LightHades 6 3,067 Último mensaje 7 Junio 2009, 18:31 pm
por LightHades
Error 91: Variable de tipo object o la variable de bloque with no esta estableci
Programación Visual Basic
brus_k10 2 6,638 Último mensaje 16 Junio 2009, 16:20 pm
por cassiani
Error: * was not declared in this scope
Programación C/C++
KISKE 5 6,406 Último mensaje 19 Enero 2013, 18:21 pm
por KISKE
iswblank has not been declared
Programación C/C++
leosansan 1 2,919 Último mensaje 22 Mayo 2013, 18:50 pm
por CCross
[AYUDA] 'variable' was not declared in this scope
Programación C/C++
Rockstar97 4 4,917 Último mensaje 12 Mayo 2015, 17:09 pm
por MellaSystems
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines