因此,当我进行长时间的编译时,我决定对ODesk进行C ++通用测试,并遇到了这个问题。
如果我没记错的话,考虑到措辞(或缺乏措辞),所有这些都是正确的。
一种。
int Foo() { }
int Foo(int bar) { }
b。
嗯,return void;
在语义上会不正确,但是函数显然可以具有void
返回类型。
void Foo() { }
C。这是内联函数的定义,是的。
d。 在不详细说明以下元素的位置的情况下,
typedef void (*Func)(int);
Func functions[2];
void Foo(int bar) { }
void Bar(int foo) { }
functions[0] = &Foo;
functions[1] = &Bar;
此外,您始终可以使用lambda和functors进行此操作。
e。
void Foo(int& bar)
{
++bar;
}
int foobar = 5;
Foo(foobar);
F。
int bar = 5;
int& GetBar()
{
return bar;
}
GetBar() = 6;
G。
int bar = 5;
int* GetBar()
{
return &bar;
}
(*GetBar()) = 5;
我看不到这个问题在哪里有真正错误的答案。我想念什么吗?
不用说我时间不够用,整个事情都失败了。我想我是一个糟糕的C ++程序员。:(