繁体   English   中英

在 C++ 中使用“使用”

[英]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_ptrint* (*) (int*) )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM