[英]Using “using” in C++
我是 C++ 的新手,我试图理解在 C++ 中使用关键字“使用”背后的逻辑。 可能有人问过这类问题,但我在试图找到包含“使用”一词的有用信息时遇到了问题。 我想要做的是得到一个变量,它是一个指向 function 的指针,它返回一个指向 int 的指针并将一个指向 int 的指针作为参数。 我试图做的事情:
function的定义:
int* funct (int* p) {cout << "function called"; return p;}
现在,如果我在 C 中编码,这就是我想做的事情:
int* (*ptr)(int*) = &funct;
我试图做的是:
using ptr = int* (*) (int*);
但是,当我尝试像ptr = &func
一样使用 ptr 时,我收到一个错误信号,表明“需要一个标识符”。 如果您决定帮助我,请指定哪个 * 响应哪个需求(“这个 * 在这里是因为您需要指向函数的指针”等)
当你这样做
using ptr = int* (*) (int*);
您将名为ptr
的别名声明为int* (*) (int*)
类型。
如果你尝试做
ptr = &func
你基本上是在说
int* (*) (int*) = &func
如您所见,这不起作用,因为没有变量名,只有一个类型。
你需要的是
ptr my_ptr = &func;
创建一个ptr
类型的变量my_ptr
( int* (*) (int*)
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.