Programación General > C/C++
Problema Con "const Struct Option Long_options[]"
ferf:
Hola, un saludo para todos, mi problema es el siguiente: tengo que controlar los argumentos de entrada de un programa en Unix, lo estoy haciendo con getopt_long y al definir la estructura para los nombres de las opciones long_options me da unos errores de compilación que no se solucionar. He buscado información relativa a esta funcion y me dice que tengo que declarar una estructura de este tipo
const struct option long_options[] = {
{ “help”, 0, NULL, ‘h’ },
{ “output”, 1, NULL, ‘o’ },
{ “verbose”, 0, NULL, ‘v’ },
{ NULL, 0, NULL, 0 }
};
pero lo intento compilar y me falla. Que puede ser??
Un saludo y gracias!
mabrev:
Hola:
Sería de gran ayuda el mensaje de error del compilador, más que nada por tener una orientación.
Saludos.
ferf:
Aqui los tienes:
arg.cpp: In function `int main(int, char **)':
arg.cpp:26: elements of array `const struct option long_options[]' have incomplete type
arg.cpp:37: uninitialized const `long_options'
arg.cpp:37: array size missing in `long_options'
arg.cpp:37: storage size of `long_options' isn't known
arg.cpp:42: confused by earlier errors, bailing out
Un Saludo!!
mabrev:
Hola:
Has probado a cambiar el array sin límites por un puntero, es decir, en vez de utilizar [] en la línea:
const struct option long_options[] =
puede hacerse:
const struct option *long_options =
a ver si así se elimina algún error.
Espero que te sirva de ayuda.
Saludos
chuidiang:
A mi este mini-programa en C++ me compila bien
--- Código: Text ---struct option{ char *kk; int a;}; main(){ const struct option cosa [] = { {"help", 0}, {"output", 1} };}
Lo único que se me ocurre es que revises un poco el código. Puedes partir de un ejemplo simple como este, ver si te compila, e ir modificandolo pcco a poco hasta convertirlo en tu codigo, para ver exactamente dónde está el fallo.
Se bueno.
Navegación
[#] Página Siguiente
Ir a la versión completa