Non so se è possibile, ma l'articolo di Wikipedia qui Compatibility of C and C++ dice quanto segue:variabili Catching passato alla funzione senza argomenti
In C, un prototipo di funzione senza argomenti, per esempio
int foo();
, implica che i parametri non sono specificati. Pertanto, è legale chiamare tale funzione con uno o più argomenti, ad es.foo(42, "hello world")
.Al contrario, in C++ un prototipo di funzione senza argomenti significa che la funzione non accetta argomenti e la chiamata a una tale funzione di con argomenti non è corretta.
In C, il modo corretto per dichiarare una funzione che non prende argomenti è usando
void
, come inint foo(void);
.
ho fatto il seguente codice per testarlo e catturare le variabili passate (che non funziona perfettamente ragione)
#include<stdio.h>
#include<stdarg.h>
void foo();
int main()
{
int i = 3;
foo(i);
return 0;
}
void foo()
{
// va_list args;
// va_start(args);
//
// int x = va_arg (args, int);
// printf("%d", x);
// va_end(args);
}
E 'possibile prendere il passato i
o sta parlando di qualcosa Wikipedia completamente diverso?
Grazie! Immagino che questo sia quello che stavo cercando. –