我正在使用C ++进行作业,并且遇到问题困难。 我们给出了一个可以作为参数接受任何内容的函数。我们需要将此函数UberFunction称为int,int *,int **和char []。
我的代码:
void CallUberFunctions() {
// There is a magic function, called "UberFunction" that is capable of taking
// anything for an argument. You need to call "UberFunction" with the
// following types: int, int* int** and char[]
// You also need to call "OtherUberFunction" in the namespace
// "uber_namespace" once, with no arguments.
UberFunction(42);
UberFunction((int*)42);
UberFunction((int**)42);
UberFunction((char[])'*');
}
以下是错误:
home / user / Desktop / cpp_refresher / cpp_refresher.cc:22:20:error:expected'(' for function-style 铸造或类型结构
我无法让char []类型正常工作,我的语法不正确吗?
答案 0 :(得分:0)
试试这个片段:
const int value = 42;
UberFunction(value); // int
UberFunction(&value); // int *
int * p_value = &value;
UberFunction(&p_value); // int * *
static const char text[] = "Hello World!\n";
UberFunction(text); // char []
请注意,在上面的示例中,参数正在更改,而不是返回值。