相关疑难解决方法(0)

什么是std :: function :: argument_type的替代品?

根据cppreference.com所有follwing三个:argument_type,first_argument_typesecond_argument_type已被取消在C++ 17和C++ 20移除.

这些成员类型的标准库替换是什么?我的意思是我可以编写自己的类型特征,但我怀疑在标准库中没有正确替换的情况下会删除某些内容.

举个例子:

template <typename F> 
void call_with_user_input(F f) {
    typename F::first_argument_type x;  // what to use instead ??
    std::cin >> x;
    f(x);
}
Run Code Online (Sandbox Code Playgroud)

c++ function

13
推荐指数
1
解决办法
488
查看次数

如何在C++中推导出函数参数类型?

有功能定义:

void f(int) { }
Run Code Online (Sandbox Code Playgroud)

我想定义:

int a;
Run Code Online (Sandbox Code Playgroud)

但如果函数定义更改为:

void f(double) { }
Run Code Online (Sandbox Code Playgroud)

变量定义必须变为:

double a;
Run Code Online (Sandbox Code Playgroud)

也就是说,"a"的类型必须与"f"函数的第一个参数相同.我需要以下内容:

decltype_of_argument<f, 0> a;
Run Code Online (Sandbox Code Playgroud)

在C++中有可能吗?

c++ types function c++11

12
推荐指数
2
解决办法
3101
查看次数

标签 统计

c++ ×2

function ×2

c++11 ×1

types ×1