Entonces, mientras hacía compilaciones largas, decidí hacer la prueba general de C ++ en ODesk y me encontré con esta pregunta.
Si no me equivoco, dada la redacción (o la falta de ella), todo esto podría ser cierto.
a.
int Foo() { }
int Foo(int bar) { }
si.
Bueno, return void;
sería incorrecto semánticamente, pero las funciones obviamente pueden tener void
tipos de retorno.
void Foo() { }
C. Esta es la definición de funciones en línea, sí.
re. Sin entrar en muchos detalles sobre la colocación de los siguientes elementos,
typedef void (*Func)(int);
Func functions[2];
void Foo(int bar) { }
void Bar(int foo) { }
functions[0] = &Foo;
functions[1] = &Bar;
Además, siempre puedes hacer esto usando lambdas y functors .
mi.
void Foo(int& bar)
{
++bar;
}
int foobar = 5;
Foo(foobar);
F.
int bar = 5;
int& GetBar()
{
return bar;
}
GetBar() = 6;
sol.
int bar = 5;
int* GetBar()
{
return &bar;
}
(*GetBar()) = 5;
No veo dónde esta pregunta tiene respuestas verdaderamente falsas . ¿Me estoy perdiendo de algo?
No hace falta decir que se me acabó el tiempo y fallé todo. Supongo que soy un mal programador de C ++. :(